Создайте задание Cron, которая будет выполнена в 12 часов утра каждый день
На этом этапе мы зарегистрируем задание Cron, которая выполняется в 12 часов утра каждый день. Эта задача Cron просто консоль зарегистрирует время выполнения и статическое сообщение.
Шаг 1
Добавить новый Queue_name называется Midnight_cron
export const QUEUE_NAMES = {
SCHEDULE_JOB: 'scheduleJob',
MIDNIGHT_CRON: 'midnightCron'
};
Шаг 2
Добавить новый процессор для Крон
const CRON_EXPRESSIONS = {
MIDNIGHT: '0 0 * * *'
};
export const QUEUE_PROCESSORS = {
...,
[QUEUE_NAMES.MIDNIGHT_CRON]: (job, done) => {
console.log({ job, done });
console.log(`${moment()}::The MIDNIGHT_CRON is being executed at 12:00am`);
done();
}
};
Шаг 3
Зарегистрируйте задание Cron в сервер/utils/queue.js
export const initQueues = () => {
...
queues[QUEUE_NAMES.MIDNIGHT_CRON].add({}, { repeat: { cron: CRON_EXPRESSIONS.MIDNIGHT } });
};
Мы будем вызывать initqueues Метод из Server/index.js Инициализировать очереди при запуске. После инициализации очередей мы добавим задание Cron для выполнения в 12 часов утра.
Вы должны увидеть журналы ниже в 12 часов утра! Не стесняйтесь обновлять регуляцию и выполнить Cron раньше 12 часов утра, чтобы проверить, как он работает.
Сделайте свой код, используя следующие команды GIT
git add . git commit -m 'Add support to run a CRON job at 12 AM everyday'
Куда пойти отсюда
Теперь у вас есть возможность настроить рабочие места Cron в мультизандерной среде.
Я надеюсь, что вам понравилось читать эту статью так же, как мне понравилось писать ее. Если это достиг вашего интереса, следите за обновлениями для следующей статьи в серии, где я проведу вас, как написать подписки GraphQL в мультикондентерной среде с использованием graphql-redis-subscriptions
Если у вас есть какие -либо вопросы или комментарии, присоединяйтесь к обсуждению форума ниже.
➤ Этот блог был первоначально опубликован в https://wednesday.is Чтобы узнать больше о том, каково это работать с средой, следуйте за нами: Instagram | Twitter | LinkedIn
Оригинал: “https://dev.to/alichherawalla/part-2-executing-batch-jobs-in-a-multi-container-environment-using-nodejs-and-express-10j6”