我有以下代码可以在5秒内安排3个作业:
var moment = require('moment');
var CronJob = require('cron').CronJob;
for (i=0; i < 2; i++)
var job = new CronJob(moment().add(1, 'minutes').toDate(), function(){
console.log(i);
}, true, 'America/Los_Angeles');
但不是打印0,1,2,而是只打印3次3次。因此,将上一份作业运行3次?
$ node test-cron.js
3
3
3
最佳答案
注意for循环中“ i”的范围。在您的原始代码中,到作业运行时,全局“ i”的值已更改。 (尽管我不确定在for循环为“
var CronJob = require('cron').CronJob;
function scheduleJob(counter) {
var job = new CronJob('*/5 * * * * *', function(){
console.log(counter);
}, true, 'America/Los_Angeles');
return job;
}
for (i=0; i < 3; i++) {
scheduleJob(i);
}
关于node.js - nodejs cron计划3个作业,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31100533/