Я ищу расписание работы узла, которое позволит мне запланировать ряд задач с разными интервалами. Например,
- вызывать функцию A каждые 30 секунд
- вызывать функцию B каждые 60 секунд
- вызывать функцию C каждые 7 дней
Я также хочу иметь возможность запускать и останавливать процесс.
До сих пор я смотрел на:
позже - меня смущает синтаксис, также, видимо, вы не можете планировать задачи дольше месяца
повестка дня - кажется наиболее многообещающей, однако меня смущает функциональность базы данных
временной план - слишком простой, нельзя запускать и останавливать
Я считаю синтаксис последнего запутанным.
node.js
cron
scheduled-tasks
user379468
источник
источник
Ответы:
Я бы рекомендовал
node-cron
. Это позволяет запускать задачи с использованием шаблонов Cron, напримерНо также и более сложные графики, например
Пример кода : выполнение задания каждые 10 минут:
Вы можете найти больше примеров в вики по node-cron
Подробнее о конфигурации cron можно найти в cron wiki
Я использовал эту библиотеку во многих проектах, и она выполняет свою работу. Надеюсь, это поможет.
источник
Я использовал node-cron и повестку дня .
node-cron - очень простая библиотека, которая предоставляет очень простой и понятный API, например crontab. Он не требует настройки и просто работает.
Программа очень мощная и подходит для гораздо более сложных услуг. Подумайте об ifttt , вам нужно выполнить миллионы задач. повестка дня была бы лучшим выбором.
Примечание. Для использования Agenda вам потребуется Mongodb.
источник
Я думаю, что лучший рейтинг
и образец расписания узлов ниже:
Возможно, вы сможете найти ответ в модулях узлов .
источник
Я написал модуль узла, который предоставляет оболочку для setInterval с использованием длительностей моментов, предоставляющих декларативный интерфейс:
https://www.npmjs.com/package/every-moment
https://github.com/raygerrard/every-moment
источник
node-cron
как ответ @Tom. и имеет приятный синтаксис, похожий на ваш.reel().call(() => console.log('hello !!')).everyMinute().run()
github.com/shakee93/node-reelnodeJS по умолчанию
https://nodejs.org/api/timers.html
источник
Для этого я написал небольшой модуль под названием timexe :
Установка:
использовать:
вы можете добиться функциональности запуска / остановки, удалив / повторно добавив запись непосредственно в массив заданий timexe. Но это не экспресс-функция.
источник