paradigm-core
Version:
Paradigm Core Modules
49 lines (31 loc) • 977 B
JavaScript
const {Queue} = require('structure-core')
const {Purge} = require('../../purge')
class PurgeUrlQueue extends Queue {
constructor(options = {}) {
super({label: 'pages--purge-urls'})
}
handler(job) {
return new Promise( async (resolve, reject) => {
try {
const organizationId = job.data.organizationId
const application = job.data.application
const pageSlug = job.data.pageSlug
const purge = new Purge({
organizationId: organizationId,
applicationId: application.id,
logger: this.logger,
hostname: application.host,
protocol: application.protocol
})
// Clear the cache
await purge.purgeForPage(pageSlug)
this.logger.debug('Purge complete', pageSlug)
resolve()
} catch(e) {
console.error('Purge url handler unable to complete', e)
reject(e)
}
})
}
}
module.exports = new PurgeUrlQueue()