use*_*468 122 cron scheduled-tasks node.js
我正在寻找节点作业计划,这将允许我以不同的间隔安排许多任务.例如,
我也希望能够启动和停止这个过程.
到目前为止,我看过:
我发现后者的语法令人困惑.
Tom*_*Tom 214
我会推荐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)
Run Code Online (Sandbox Code Playgroud)
但也有更复杂的时间表,例如
'00 30 11 * * 1-5' - Runs every weekday (Monday through Friday) at 11:30:00 AM. It does not run on Saturday or Sunday.
Run Code Online (Sandbox Code Playgroud)
示例代码:每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();
Run Code Online (Sandbox Code Playgroud)
您可以在node-cron wiki中找到更多示例
有关cron配置的更多信息可以在cron wiki 上找到
我一直在许多项目中使用该库,它完成了这项工作.我希望这会有所帮助.
Rya*_* Wu 36
node-cron是一个非常简单的库,它提供了非常基本且易于理解的api,如crontab.它不需要任何配置,只是工作.
var cronJob = require('cron').CronJob;
var myJob = new cronJob('00 30 11 * * 1-5', function(){...});
myJob.start();
Run Code Online (Sandbox Code Playgroud)
议程非常强大,适合更复杂的服务.想想ifttt,你必须运行数百万个任务.议程将是最好的选择.
注意:您需要Mongodb才能使用Agenda
var Agenda = require("Agenda");
var agenda = new Agenda({db: { address: 'localhost:27017/agenda-example'}});
agenda.every('*/3 * * * *', 'delete old users');
agenda.start();
Run Code Online (Sandbox Code Playgroud)
小智 12
我认为最好的排名是
1.node时间表
2.later
3.crontab
节点计划的样本如下:
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");
});
Run Code Online (Sandbox Code Playgroud)
也许你可以从节点模块中找到答案.
ray*_*ard 10
我编写了一个节点模块,它使用提供声明性接口的时刻持续时间来提供setInterval的包装:
npm每时每刻安装
var every = require('every-moment');
var timer = every(5, 'seconds', function() {
console.log(this.duration);
});
every(2, 'weeks', function() {
console.log(this.duration);
timer.stop();
this.set(1, 'week');
this.start();
});
Run Code Online (Sandbox Code Playgroud)
https://www.npmjs.com/package/every-moment
https://github.com/raygerrard/every-moment
小智 6
nodeJS默认
https://nodejs.org/api/timers.html
setInterval(function() {
// your function
}, 5000);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
122209 次 |
| 最近记录: |