2016-09-16 2 views
1

Я использую Cron; a nodejs package для обработки заданий cron в NodeJs. Вот как я бегу хрон:Исключение Даты Обработка массива в Nodejs Cron

var job = new CronJob({ 
    cronTime: '00 30 11 * * 1-5', 
    onTick: function() { 
    /* 
    * Runs every weekday (Monday through Friday) 
    * at 11:30:00 AM. It does not run on Saturday 
    * or Sunday. 
    */ 
    } 
}); 
job.start(); 

Это работает безупречно, но есть ли стандартный способ для обработки даты исключения массива обработки? Например, вот моя дата массив национальных праздников, и я не хочу, чтобы запустить мои хроны в эти дни:

['28-01-2017', '1-05-2017', '14-08-2016', '15-09-2016', '16-09-2016'] 

ответ

1

Вы не можете добавить исключений в хроны. Вы гораздо лучше добавляете в свой код логику, чтобы не работать в те дни.

var job = new CronJob({ 
    cronTime: '00 30 11 * * 1-5', 
    onTick: function() { 
    var exclude = ['28-01-2017', '1-05-2017', '14-08-2016', '15-09-2016', '16-09-2016'] 
    if (exclude.indexOf(convertDate()) > -1) { 
     console.log('dont run'); 
    } else { 
     console.log('run'); 
    } 
    } 
}); 
job.start(); 

function convertDate() { 
    var d = new Date(); 
    return [pad(d.getDate()), pad(d.getMonth()+1), d.getFullYear()].join('-'); 
} 

function pad(s) { 
    return (s < 10) ? '0' + s : s; 
} 
+0

Спасибо, это то, что я сейчас делаю, но если нет стандартного способа обработки этих массивов дат исключения, то это должен быть принятый ответ. – adi

Смежные вопросы