узел-расписание запускается только один раз

Я запускаю приложение стека MEAN и борюсь с правильной реализацией повторяющейся задачи. Я добавил следующую строку в свой файл server.js:

require('./node_scripts/schedule/node_sched.js');  

Затем он указывает на этот файл:

var schedule = require('node-schedule');

var rule = new schedule.RecurrenceRule();
rule.minute = 57;

var notify = schedule.scheduleJob(rule, function(){
    var notifyScript = require('../arrival_checker/arrival_main.js');
    console.log('Ran notify script ' + new Date());
    notifyScript;
});

Скрипт запускается один раз успешно, но больше никогда не запускается. Вот мои вопросы:

  1. Является ли это правильным способом выполнения запланированной задачи в среде стека MEAN?
  2. Как мне изменить этот код, чтобы он выполнялся каждый час?

person Matt Smith    schedule 31.01.2015    source источник


Ответы (1)


Я думаю, что приведенный ниже код поможет вам. приведенный ниже код будет выполняться каждые 00:01 (полночь).

 var schedule = require('node-schedule');
 schedule.scheduleJob('1 0 * * *', function () {
       console.log('Ran notify script ' + new Date());
 })

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

var yourRule = {hour: 0, minute: 0, dayOfWeek: 1, month: [0, 3, 6, 9]};
var scheduleFunction = schedule.scheduleJob(yourRule, function(){
  console.log('will execute every quarter'));
});

ссылка для создания собственного правила: https://www.npmjs.com/package/node-schedule

person Shubham Verma    schedule 17.06.2017