Как запускать задачи по расписанию в Node.js?

Middle
266 просмотров
AFK Offer AI

node-cron: cron.schedule("0 */2 * * *", () => { cleanup() }) — каждые 2 часа. node-schedule для более сложных расписаний. BullMQ: queue.add("task", data, { repeat: { cron: "0 0 * * *" } }) — через Redis, переживает рестарты. Agenda — MongoDB-based job scheduler. Главный вопрос: при горизонтальном масштабировании нужно чтобы задача запускалась только на одном инстансе — distributed lock через Redis или use job queue (BullMQ/Agenda). node-cron без Redis запустит задачу на каждом поде.

Следующий вопрос

Как делать миграции в TypeORM?