Иструмент для выполнения вашего кода по расписанию.
Для использования вы должны отнаследовать класс который предоставляет данный инструмент с помощью модуля inherit, например
var inherit = require('inherit'),
CronRunner = require('cron-runner');
var MyCronRunner = inherit(CronRunner, {
__constructor: function (options) {
this.__base(options);
//TODO implement your custom initialization code here
},
execute: function () {
//TODO implement your custom execution code here
}
});
var mcr = new MyCronRunner({
cron: {
pattern: '0 */1 * * * *'
}
});
mcr.start();
Конструктор cron-runner модуля должен вызываться с обязательной передачей опций. Опции для инициализации данного модуля представляют собой объект с полями:
cron
- строка или объект с полемpattern
который содежит информацию о расписании вызова кода. Более детально о шаблонах cron можно прочитать здесь.logger
- конфигруация логгер. Это опциональное поле для инициализации инструмента логгирования.
Переключает состояние иструмента в ACTIVE
. Этот метод может быть вызван перед вызовом вашего кода
для того чтобы предотвратить исполнение кода при следующем запуске по таймеру в случае когда
исполняемый код еще не закончил выполнение.
Переключает состояние иструмента в IDLE
. Этот метод может быть использован для того, чтобы
разблокировать выполнение последующих операций.
Возвращает true
если инструмент находится в состоянии ACTIVE
. В противном случае возвращает false
.
Этот метод должен быть переопределен в вашем дочернем классе. Содержит исполняемый код который доджен выполняться по расписанию.
Запускает выполнение cron задачи по расписанию.
Останавливает выполнение cron задачи по расписанию.
Запуск тестов:
npm run mocha
Запуск тестов с вычислением покрытия кода тестами с помощью инструмента istanbul:
npm run istanbul
Проверка синткасиса кода с помощью jshint и jscs
npm run codestyle
Особая благодарность за помощь в разработке:
- Ильченко Николай (http://github.com/tavriaforever)
- Константинова Гела (http://github.com/gela-d)
Разработчик Кузнецов Андрей Сергеевич @tormozz48 Вопросы и предложения присылать по адресу: [email protected]