Node.js 如何在for循环中使用节点调度来调度任务?
我有一个问题,我必须在一天中的不同时间安排一些任务,对于这一次的安排,我使用cron获取所有数据并相应地安排它,但当我在for循环中安排作业时。每个作业执行多次。这是我的密码Node.js 如何在for循环中使用节点调度来调度任务?,node.js,express,Node.js,Express,我有一个问题,我必须在一天中的不同时间安排一些任务,对于这一次的安排,我使用cron获取所有数据并相应地安排它,但当我在for循环中安排作业时。每个作业执行多次。这是我的密码 for(var i=0;i<_resultDataToPushLength;i++) { var __date90=new Date(_DatesPlus90[i]) var __date80=new Date(_DatesPlus80[i]) var __rescheduleDate=new Date(
for(var i=0;i<_resultDataToPushLength;i++)
{
var __date90=new Date(_DatesPlus90[i])
var __date80=new Date(_DatesPlus80[i])
var __rescheduleDate=new Date(_DatesToReschedule[i])
var j = schedule.scheduleJob(scheduleId,[__date90,__date80,__rescheduleDate] ,
function() {
console.log(scheduleId)
})
for(var i=0;i我认为使用异步模块将解决您的问题。
这是链接
试试这段代码,看看它是否有效
var async = require("async");
var arr = new Array();
for(var i=0;i<=datalength;i++){
arr[i]=i;
}
async.forEach(arr,1,function(item,callback){
var __date90=new Date(_DatesPlus90[i])
ar __date80=new Date(_DatesPlus80[i])
var __rescheduleDate=new Date(_DatesToReschedule[i])
var j = schedule.scheduleJob(scheduleId,[__date90,__date80,__rescheduleDate] ,
function(){
console.log(scheduleId);
callback();
});
});
var async=require(“async”);
var arr=新数组();
对于(var i=0;iMy bad,一切正常只是数组中的日期时间是过去的日期,所以回调函数在过去的每个日期时间执行一次。为什么要使用for loop?在可用节点模块中已经有许多类型的调度选项,实际上我必须每天6:00调度任务am.所以我从数据库中获取所有数据,并开始循环调度。
循环不需要执行此操作,您可以使用我提供的链接到的模块调度任务,并像往常一样在该模块中进行db调用。但是我如何取消作业,因为在某些情况下我必须取消作业。在节点调度中我们可以通过传递job name to cancel()方法“实际上,我必须在每天早上6:00安排任务”来轻松完成任务