Ответ 1
node-cron делает только то, что я описал
Есть ли какая-то cron-подобная библиотека, которая позволила бы мне планировать запуск какой-либо функции в определенное время (например, 15:30, а не через x часов и т.д.)? Если нет такой библиотеки, как это должно быть реализовано? Должен ли я просто установить обратный вызов для вызова каждую секунду и проверить время и начать задание, запланированное на время или что?
node-cron делает только то, что я описал
node-schedule Планировщик заданий типа cron-like и не-cron для Node.
agenda - это легкий график работы для node. Это поможет вам.
later.js - довольно хорошая библиотека JavaScript-планировщика. Может работать на Node.js или в веб-браузере.
Я использую kue: https://github.com/learnboost/kue. Это довольно хорошо.
Официальные функции и мои комментарии:
Edit:
node-crontab позволяет редактировать задания cron с node.js. Использование этой библиотеки позволит вам запускать программы даже после завершения основного процесса. Отказ от ответственности: я разработчик.
Вы можете использовать timexe
Он простой в использовании, легкий, не имеет зависимостей, имеет улучшенный синтаксис по сравнению с cron, с разрешением в миллисекундах и работает в браузере.
Установка:
npm install timexe
Использование:
var timexe = require('timexe');
var res = timexe("* * * 15 30", function(){ console.log("It now 3:30 pm"); });
(Я автор)
Я являюсь auhor node-runnr. У него очень простой подход к созданию работы. Также очень легко и понятно объявить время и интервал. Например, чтобы выполнить задание каждые 10 минут 20 секунд,
Runnr.addIntervalJob('10:20', function(){...}, 'myjob')
Чтобы выполнять работу в 10 утра и 3 вечера ежедневно,
Runnr.addDailyJob(['10:0:0', '15:0:0'], function(){...}, 'myjob')
Это так просто. Для более подробной информации: https://github.com/Saquib764/node-runnr
Все эти ответы и никто не указал на самый популярный пакет NPM.. cron
Оба node-schedule и node-cron мы может использоваться для реализации планировщиков на основе cron.
ПРИМЕЧАНИЕ: для генерации выражений cron вы можете использовать cron_maker
Это не подходит для всех, но если ваше приложение уже настроено выполнять команды через сокет, вы можете использовать netcat для выдачи команд через собственно cron.
echo 'mycommand' | nc -U /tmp/myapp.sock