prism-ad-campaigns
Version:
Prism Ad Campaigns
58 lines (39 loc) • 1.13 kB
JavaScript
const Job = require('structure-job')
class ActivateAdCampaignJob extends Job {
constructor(options = {}) {
super(Object.assign({}, {
interval: 1000,
label: 'Activate Ad Campaign',
priority: 'high',
table: 'jobs_activate_ad_campaign'
}, options))
this.logger = options.logger || console
if(!this.logger.debug) {
this.logger.debug = console.log.bind(console)
}
}
handler(job) {
const organizationId = job.data.organizationId
const applicationId = job.data.applicationId
this.logger.debug('Activating ad campaign', {
adCampaignId: job.data.id
})
try {
// Avoid circular import
const AdCampaignModel = require('../models/ad-campaign')
const adCampaignModel = new AdCampaignModel({
logger: this.logger,
organizationId,
applicationId
})
return adCampaignModel.activate(job.data.id)
} catch(err) {
this.logger.error('Error activating ad campaign', {
err,
adCampaignId: job.data.id
})
throw err
}
}
}
module.exports = ActivateAdCampaignJob