Потрясающий модуль сообщества

НодеКрон

НПМ НПМ Статус покрытия Код Климат Статус сборки Статус зависимости Статус devDependency

Модуль node-cron — это крошечный планировщик задач на чистом JavaScript для node.js, основанный на GNU crontab . Этот модуль позволяет планировать задачи в node.js, используя полный синтаксис crontab.

НПМ

Начиная

Установите node-cron с помощью npm:

1
$ npm install --save node-cron

Импортируйте node-cron и запланируйте задачу:

1 2 3 4 5
var cron = require('node-cron'); cron.schedule('* * * * *', function(){ console.log('running a task every minute'); });

Синтаксис Крон

Это краткий справочник по синтаксису cron, а также показаны параметры, поддерживаемые node-cron.

Allowed fields

1 2 3 4 5 6 7 8 9
# ┌────────────── second (optional) # │ ┌──────────── minute # │ │ ┌────────── hour # │ │ │ ┌──────── day of month # │ │ │ │ ┌────── month # │ │ │ │ │ ┌──── day of week # │ │ │ │ │ │ # │ │ │ │ │ │ # * * * * * *

Allowed values

поле ценить
второй 0-59
минута 0-59
час 0-23
день месяца 1-31
месяц 1-12 (или имена)
день недели 0–7 (или имена, 0 или 7 — воскресенье)

Использование кратных значений

Вы можете использовать кратные значения, разделенные запятой:

1 2 3 4 5
var cron = require('node-cron'); cron.schedule('1,2,4,5 * * * *', function(){ console.log('running every minute 1, 2, 4 and 5'); });

Использование диапазонов

Вы также можете определить диапазон значений:

1 2 3 4 5
var cron = require('node-cron'); cron.schedule('1-5 * * * *', function(){ console.log('running every minute to 1 from 5'); });

Использование значений шага

Значения шага можно использовать в сочетании с диапазонами, после диапазона с '/' и числом. Например: 1-10/2это то же самое, что и 2,4,6,8,10. Шаги также разрешены после звездочки, поэтому, если вы хотите сказать «каждые две минуты», , просто используйте */2.

1 2 3 4 5
var cron = require('node-cron'); cron.schedule('*/2 * * * *', function(){ console.log('running a task every two minutes'); });

Использование имен

Для месяца и дня недели вы также можете использовать имена или короткие имена, например:

1 2 3 4 5
var cron = require('node-cron'); cron.schedule('* * * January,September Sunday', function(){ console.log('running on Sundays of January and September'); });

Или с короткими именами:

1 2 3 4 5
var cron = require('node-cron'); cron.schedule('* * * Jan,Sep Sun', function(){ console.log('running on Sundays of January and September'); });

Методы cron

Schedule

Планирует выполнение данной задачи всякий раз, когда срабатывает выражение cron.

Аргументы:

  • !string выражение — выражение Cron
  • !Function func — Задача, которую необходимо выполнить.
  • boolean?immediateStart — запускать ли планировщик сразу после создания.

Методы запланированной задачи

Start

Запускает запланированное задание.

1 2 3 4 5 6 7
var cron = require('node-cron'); var task = cron.schedule('* * * * *', function() { console.log('immediately started'); }, false); task.start();

Stop

Задача не будет выполнена, если ее не перезапустить.

1 2 3 4 5 6 7
var cron = require('node-cron'); var task = cron.schedule('* * * * *', function() { console.log('will execute every minute until stopped'); }); task.stop();

Destroy

Задание будет остановлено и полностью уничтожено.

1 2 3 4 5 6 7
var cron = require('node-cron'); var task = cron.schedule('* * * * *', function() { console.log('will not execute anymore, nor be able to restart'); }); task.destroy();

Validate

Убедитесь, что данная строка является допустимым выражением cron.

1 2 3 4
var cron = require('node-cron'); var valid = cron.validate('59 * * * *'); var invalid = cron.validate('60 * * * *');

Проблемы

Не стесняйтесь сообщать о проблемах и пожеланиях по улучшению здесь .

Авторы

В целом мы следуем принципу «вилки и вытягивания» Git.

  • Создайте форк репозитория на GitHub;
  • Зафиксируйте изменения в ветке вашего форка;
  • Запрос на включение «вверх по течению» с вашими изменениями;

ПРИМЕЧАНИЕ. Прежде чем делать запрос на включение, обязательно объедините последнюю версию из «восходящего потока»!

Пожалуйста, не добавляйте код, который вы не писали сами, если вы не уверены, что у вас есть на это юридическая возможность. Также убедитесь, что весь предоставленный код может распространяться по лицензии ISC.

Лицензия

узел-cron находится подISC License.