nodejsの中のcron

1927 ワード

linuxでcrontabを使ってタスクスケジュールを行うのはとても便利です.指定されたプログラムを指定してもいいし、毎日のある時刻を指定してプログラムを実行してもいいし、週、月によって指定してもいいです.nodejsにも似たようなcronモジュールがあります.同じ機能を実現できます.時間文法も同じです.
1,クロンモジュールの取り付け
#npm install -g cron
2,タスクを起動します.
var cronJob = require("cron").CronJob;
//       
new cronJob('* * * * * *', function () {
        //your job code here
}, null, true, 'Asia/Chongqing');
//  30     ,  0  30    
new cronJob('*/30 * * * * *', function () {
        //your job code here
}, null, true, 'Asia/Chongqing');
//   8    18 ,          ,  0  30    
new cronJob('* */30 8-18 * * *', function () {
        //your job code here
}, null, true, 'Asia/Chongqing');
//    10  18   26       
new cronJob('* 26 10,18 * * *', function () {
        //your job code here
}, null, true, 'Asia/Chongqing');
3、直ちに任務を実行しないで、人工的に起動します.
var jobid = new cronJob('* 26 10,18 * * *', function () {
        //your job code here
}, null, false, 'Asia/Chongqing');
jobid.start();
4,タイムゾーンを設定します
cronJobの中の時間はタイムゾーンに合っていますので、正確なタイムゾーンに合わせて、時間に関してはこの文章を参考にしてもいいです.
http://blog.csdn.net/newborn2012/article/details/17753635
5,ダイナミック設定時間
var jobid = new cronJob('* * * * * *', function () {
        //your job code here
}, null, false, 'Asia/Chongqing');
var second = "12";
var minute = "0";
var hour = "8-19";
var interval = "3";
var time = require("cron").time(second + ' ' + minute + ' ' + hour+ '/' + interval + ' * * *', 'Asia/Chongqing');
jobid.stop();
jobid.setTime(time);
jobid.start();
6,クロンタスクを終了します.
var jobid = new cronJob('* 26 10,18 * * *', function () {
        //your job code here
}, null, true, 'Asia/Chongqing');
...
jobid.stop();