2016-09-16 5 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ジョブを実行する必要はありません:あなたは、あなたのcronジョブに除外を追加することはできません

['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