一尘不染

我需要一个Nodejs调度程序,该调度程序允许以不同的时间间隔执行任务

node.js

我正在寻找一个节点作业计划,该计划将允许我以不同的时间间隔计划许多任务。例如,

  • 每30秒调用一次函数A
  • 每60秒调用一次功能B
  • 每7天调用一次函数C

我还希望能够启动和停止该过程。

到目前为止,我已经看过:

  • 稍后 -语法使我感到困惑,显然您也不能安排一个月以上的任务

  • 议程 -似乎是最有前途的,但是我对数据库功能感到困惑

  • 时间计划 -太简单了,无法启动和停止

我发现后者的语法令人困惑。


阅读 406

收藏
2020-07-07

共1个答案

一尘不染

我会推荐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

我已经在许多项目中使用该库,并且可以完成工作。我希望这会有所帮助。

2020-07-07