Есть ли Библиотека планировщика заданий для узла.Джей? [закрытый]



есть ли какая-то библиотека cron, которая позволит мне запланировать запуск некоторой функции в определенное время (например, 15:30, а не через x часов и т. д.)? Если нет такой библиотеки, как это должно быть реализовано? Должен ли я просто установить обратный вызов для вызова каждую секунду и проверить время и начать задания, запланированные на это время или что?

542   11  

11 ответов:

node-cron делает только то, что я описал

node-schedule cron-подобный и не-cron-подобный Планировщик заданий для узла.

повестка дня - Это легкое планирование заданий для узла. Это вам поможет.

позже.js это довольно хорошая библиотека JavaScript "планировщик". Может работать на узле.JS или в веб-браузере.

Я использую kue:https://github.com/learnboost/kue . Это довольно приятно.

официальные функции и мои комментарии:

  1. отложенная работа.
    • если вы хотите, чтобы задание выполнялось в определенное время, вычислите миллисекунды между этим временем и сейчас. Позвонить на работу.задержка (миллисекунды) (док говорит минуты, что неверно.) Не забудьте добавить " работа.promote ();" когда вы вводите задания.
  2. событие работа и опционально прогресс.
    • я этого не понимаю.
  3. богатый интегрированный интерфейс.
    • очень полезно. Вы можете проверить состояние задания (выполнено, запущено, отложено) в интегрированном пользовательском интерфейсе и не нужно писать код. И вы можете удалить старые записи в пользовательском интерфейсе.
  4. бесконечная прокрутка
    • иногда не работает. Надо освежиться.
  5. индикатор выполнения пользовательского интерфейса
    • хорошо для трудоемкая работа.
  6. ведение журнала конкретных заданий
    • поскольку они являются отложенными заданиями, вы должны зарегистрировать полезную информацию в задании и проверить позже через пользовательский интерфейс.
  7. питание от Redis
    • очень полезно. При перезагрузке узла.js app, все записи о заданиях все еще там, и запланированные задания будут выполняться тоже!
  8. необязательный снова разбирать
    • хорошо.
  9. возможности полнотекстового поиска
    • хорошо.
  10. RESTful JSON API
    • звучит хорошо, но я никогда не использую его.

Edit:

  1. kue - это не cron, как библиотека.
  2. по умолчанию kue не поддерживает задание, которое выполняется повторно (например, каждое воскресенье).

node-crontab позволяет редактировать системные задания cron из узла.js. Использование этой библиотеки позволит вам запускать программы даже после завершения основного процесса. Отказ от ответственности: я разработчик.

можно использовать timexe

преимущества в том, что его простой в использовании, легкий вес, не имеет зависимостей, имеет улучшенный синтаксис над cron, разрешение в миллисекундах и работает в браузере.

установка:

npm install timexe

использование:

var timexe = require('timexe');
var res = timexe("* * * 15 30", function(){ console.log("It's 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

и node-schedule и узел-cron мы можем использовать для реализации schedullers на основе cron.

Примечание : для генерации cron выражений, вы можете использовать это cron_maker

Это не подходит для всех, но если ваше приложение уже настроено для приема команд через сокет, вы можете использовать netcat для выдачи команд через cron.

echo 'mycommand' | nc -U /tmp/myapp.sock

все эти ответы и никто не указал на самый популярный пакет NPM .. cron

https://www.npmjs.com/package/cron

Comments

    Ничего не найдено.