|
import process from 'process'; |
|
import { Queue } from 'bullmq'; |
|
import redisConfig from '../config/redis.js'; |
|
import logger from '../helpers/logger.js'; |
|
|
|
const CONNECTION_REFUSED = 'ECONNREFUSED'; |
|
|
|
const redisConnection = { |
|
connection: redisConfig, |
|
}; |
|
|
|
const removeCancelledSubscriptionsQueue = new Queue( |
|
'remove-cancelled-subscriptions', |
|
redisConnection |
|
); |
|
|
|
process.on('SIGTERM', async () => { |
|
await removeCancelledSubscriptionsQueue.close(); |
|
}); |
|
|
|
removeCancelledSubscriptionsQueue.on('error', (error) => { |
|
if (error.code === CONNECTION_REFUSED) { |
|
logger.error( |
|
'Make sure you have installed Redis and it is running.', |
|
error |
|
); |
|
|
|
process.exit(); |
|
} |
|
|
|
logger.error( |
|
'Error happened in remove cancelled subscriptions queue!', |
|
error |
|
); |
|
}); |
|
|
|
removeCancelledSubscriptionsQueue.add('remove-cancelled-subscriptions', null, { |
|
jobId: 'remove-cancelled-subscriptions', |
|
repeat: { |
|
pattern: '0 1 * * *', |
|
}, |
|
}); |
|
|
|
export default removeCancelledSubscriptionsQueue; |
|
|