在Node.js中安排任务

时间:2014-06-07 01:34:06

标签: node.js cron redis schedule

我需要使用Node.js在特定时间安排任务。我看过cron和node-schedule,node-schedule看起来非常适合我想要的东西。问题是,当任务准备好执行时,使用node-schedule它不能给我一个需要触发的任务的引用。基本上,我需要解析某种标识符并以某种方式获取该标识符。以下是示例计划代码:

var j = schedule.scheduleJob(date, function(){
    console.log('The world is going to end today.');
});

但我想要的是:

var j = schedule.scheduleJob(date, taskid, function(taskid){
    console.log('Got task '+taskid+' to do');
});

有人有个主意吗? 或者我应该使用Node Agenda(https://github.com/rschmukler/agenda)。我目前正在使用redis来存储所有任务数据,而我并没有计划安装mongo,而这是需要的。

1 个答案:

答案 0 :(得分:0)

这里有两件事:  1)首先,node-schedule是类似cron的库,但不是cron本身,使用它你不能每隔一段时间执行一次任务(请阅读wiki以获取更多信息)。 2)如果您的要求是针对特定时间的作业调度,您可以查看此测试用例,该测试用例表明可以为作业提供名称以及一些处理程序: https://github.com/mattpat/node-schedule/blob/master/test/job-test.js

稍后您可以使用此作业名作为参考来执行进一步的操作。

希望有帮助!