Как остановить работу узла cron - PullRequest
0 голосов
/ 08 декабря 2018

Я хочу остановить задание узла cron при определенных условиях.

Так я запускаю задание, которое запускается каждую 1 секунду.

const runScheduler = (url)=>{
    cron.schedule('*/1 * * * * *', () => {
        console.log('running a task every one second');
        async.waterfall([ getUrlDelay(url), dbMethods.updateUrlResponses(url) ],function(err, success){
            if(err) return console.log('Url Not Found');
        })
      });
}

Я хочу остановить это задание, ноне в состоянии это сделать.

Ответы [ 2 ]

0 голосов
/ 08 декабря 2018

Для того, чтобы cancel задание вы могли создать задание с уникальным именем.

var j = cron.scheduleJob(unique_name, '*/1 * * * * *',()=>{
    //Do some work
});
// for some condition in some code
let my_job = cron.scheduledJobs[unique_name];
my_job.cancel();

Это должно отменить задание.

0 голосов
/ 08 декабря 2018
var cron = require('node-cron');

  var task = cron.schedule('* * * * *', () =>  {
    console.log('will execute every minute until stopped');
});
task.stop(); 
...