发布于 2013-12-11 00:13:55
我推荐node-cron
。它允许使用Cron模式运行任务,例如
'* * * * * *' - runs every second
'*/5 * * * * *' - runs every 5 seconds
'10,20,30 * * * * *' - run at 10th, 20th and 30th second of every minute
'0 * * * * *' - runs every minute
'0 0 * * * *' - runs every hour (at 0 minutes and 0 seconds)
但也有更复杂的时间表,例如
'00 30 11 * * 1-5' - Runs every weekday (Monday through Friday) at 11:30:00 AM. It does not run on Saturday or Sunday.
示例代码:每10分钟运行一次作业:
var cron = require('cron');
var cronJob = cron.job("0 */10 * * * *", function(){
// perform operation e.g. GET request http.get() etc.
console.info('cron job completed');
});
cronJob.start();
您可以在node-cron wiki中找到更多示例
有关cron配置的更多信息,请访问cron wiki
我已经在很多项目中使用过这个库,它也能做到这一点。我希望这会有所帮助。
发布于 2013-12-11 00:23:13
crontab crontab是一个非常简单的库,它提供了像这样非常基本且易于理解的。它不需要任何配置,就能正常工作。
var cronJob = require('cron').CronJob;
var myJob = new cronJob('00 30 11 * * 1-5', function(){...});
myJob.start();
agenda非常强大,适合更复杂的服务。以ifttt为例,你必须运行数百万个任务。agenda将是最佳选择。
注意:您需要使用Mongodb才能使用Agenda
var Agenda = require("Agenda");
var agenda = new Agenda({db: { address: 'localhost:27017/agenda-example'}});
agenda.every('*/3 * * * *', 'delete old users');
agenda.start();
发布于 2015-05-16 13:38:32
我认为最好的排名是
1.node-调度
2.later
3.crontab
node-schedule示例如下:
var schedule = require("node-schedule");
var rule = new schedule.RecurrenceRule();
//rule.minute = 40;
rule.second = 10;
var jj = schedule.scheduleJob(rule, function(){
console.log("execute jj");
});
也许你可以从node modules那里找到答案。
https://stackoverflow.com/questions/20499225
复制相似问题