我正在使用Cron;一个nodejs package用于NodeJs中的cron作业处理。这是我如何运行一个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();
它运行完美但是有没有标准方式来处理异常日期数组处理?例如,这是我的国家假日日期,我不想在这些日子里完成我的cron工作:
['28-01-2017', '1-05-2017', '14-08-2016', '15-09-2016', '16-09-2016']
答案 0 :(得分:1)
您无法在cron作业中添加排除项。最好不要在代码中添加那些日子不运行的逻辑。
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;
}