UNPKG

@geniucode/common-utils

Version:

Common utils

21 lines 1.05 kB
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