2016-09-16 57 views
1

我正在使用Cron;用於NodeJs中的cron作業處理的nodejs package。這裏是我是如何運行的cron作業:異常日期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(); 

它完美地運行,但有沒有處理例外日期數組處理任何標準方式?例如,以下是我的日期,國家法定節假日的陣列,我不希望在這幾天跑我cron作業:

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

回答

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; 
} 
+0

謝謝,這是我目前正在做的,但如果真的沒有任何標準的方式來處理這些異常日期數組,那麼這應該是接受的答案。 – adi