有没有node.js的工作调度程序库?

有没有像图书馆这样的cron可以让我安排某些function在某个特定时间(例如15:30,而不是从现在开始的x小时等)运行? 如果没有这种types的图书馆应该如何实施? 我是否应该设置每秒调用callback,并检查时间和开始计划的时间或什么工作?

node-cron正是我所描述的

node-schedule Node的 cron-like和not-cron-like作业调度程序。

议程是节点的轻量级作业调度。 这将帮助你。

later.js是一个非常不错的JavaScript“调度程序”库。 可以在Node.js上运行或在Web浏览器中运行。

我使用kue: https : //github.com/learnboost/kue 。 这是相当不错的。

官方function和我的意见:

  1. 延迟工作。
    • 如果您想让作业在特定时间运行,请计算该时间与现在之间的毫秒数。 调用job.delay(毫秒)(doc说分钟,这是错误的。)不要忘记添加“jobs.promote();” 当你初始工作。
  2. 工作事件和进度pubsub。
    • 我不明白
  3. 丰富的集成UI。
    • 很有用。 您可以在集成的用户界面中检查作业状态(完成,运行,延迟),无需编写任何代码。 你可以删除UI中的旧logging。
  4. 无限滚动
    • 有时候不工作。 必须刷新。
  5. UI进度指示
    • 适合耗时的工作。
  6. 特定于工作的日志
    • 由于他们是延迟工作,所以您应该在作业中logging有用的信息,并通过UI稍后检查。
  7. 由Redis提供支持
    • 很有用。 当你重新启动你的node.js应用程序时,所有的工作logging仍然存在,预定的工作也将被执行。
  8. 可选重试
    • 尼斯。
  9. 全文searchfunction
    • 好。
  10. REST风格的JSON API
    • 听起来不错,但我从来不使用它。

编辑:

  1. kue不是像库一样的cron。
  2. 默认情况下,kue不支持重复运行的作业(例如每个星期天)。

node-crontab允许你从node.js编辑系统cron作业。 使用这个库将允许您运行程序,即使在您的主要过程终止之后。 免责声明:我是开发人员。

你可以使用timexe

它的好处是它使用简单,重量轻,没有依赖关系,在cron上的语法改进,毫秒级的分辨率,并在浏览器中工作。

安装:

 npm install timexe 

使用:

 var timexe = require('timexe'); var res = timexe("* * * 15 30", function(){ console.log("It's now 3:30 pm"); }); 

(我是作者)

我是node-runnr的可笑人物 。 它有一个非常简单的方法来创造工作。 申报时间和间隔也非常简单明了。 例如,要每隔10分钟执行一次作业20秒,

 Runnr.addIntervalJob('10:20', function(){...}, 'myjob') 

要在每天上午10点和下午3点做一份工作,

 Runnr.addDailyJob(['10:0:0', '15:0:0'], function(){...}, 'myjob') 

这很简单。 有关更多详细信息: https : //github.com/Saquib764/node-runnr

我们可以使用node-schedule和node-cron来实现基于cron的调度程序。

注意 :为了生成cronexpression式,你可以使用这个cron_maker

这不适合每个人,但是如果你的应用程序已经被设置为通过套接字来执行命令,那么你可以使用netcat来通过cron发出命令。

 echo 'mycommand' | nc -U /tmp/myapp.sock 

所有这些答案和没有人指出了最stream行的NPM包..克朗

https://www.npmjs.com/package/cron