@geniucode/common-utils
Version:
Common utils
21 lines • 1.05 kB
JavaScript
import { initQueue } from '@geniucode/mongo-job-queue';
import { logi } from '../logger';
const logger = logi(__filename);
export const scheduleJob = async (collection, schedulePeriod, jobName, data) => {
try {
if (!process.env.DB_URL || !process.env.DB_NAME_QUEUES || !process.env.NODE_ENV) {
logger.error('Error | DB_URL & DB_NAME_QUEUES & NODE_ENV must be defined');
throw new Error('DB_URL & DB_NAME_QUEUES & NODE_ENV must be defined');
}
const queue = initQueue(`${process.env.DB_URL}/${process.env.DB_NAME_QUEUES}`, collection);
await queue.start();
await queue.schedule(schedulePeriod, `${process.env.NODE_ENV}_${jobName}`, data);
logger.info(`New job scheduled on collection::${collection}, jobName::${jobName}`);
}
catch (error) {
logger.error(error?.message);
const errMsg = `Error | scheduling job on collection::${collection}, jobName::${jobName} - ${error?.message}`;
logger.error(errMsg);
}
};
//# sourceMappingURL=jobs.js.map