是否有一些类似cron的库可以让我安排一些功能在某个时间运行(例如15:30,而不是x小时从现在开始等)?如果没有这种库应该如何实现?我应该只设置每秒调用一次回调并检查时间并开始计划当时的工作或什么?
node-cron正是我所描述的
node- schedule用于Node的类似cron和非cron的作业调度程序.
议程是节点的轻量级作业调度.这会对你有所帮助.
later.js是一个非常好的JavaScript"调度程序"库.可以在Node.js或Web浏览器中运行.
我正在使用kue:https://github.com/learnboost/kue.这很不错.
官方功能和我的意见:
推迟工作.
如果要让作业在特定时间运行,请计算该时间与现在之间的毫秒数.调用job.delay(毫秒)(文档说分钟,这是错误的.)不要忘记添加"jobs.promote();" 当你开始工作.
工作事件和进展pubsub.
我不明白.
丰富的集成UI.
很有用.您可以在集成UI中检查作业状态(完成,运行,延迟),而无需编写任何代码.您可以在UI中删除旧记录.
无限滚动
有时不工作.必须刷新.
UI进度指示
适合耗时的工作.
特定工作日志
因为它们是延迟的作业,所以您应该在作业中记录有用的信息,然后通过UI进行检查.
由Redis提供
很有用.当您重新启动node.js应用程序时,所有作业记录仍然存在,并且计划的作业也将执行!
可选的重试
尼斯.
全文搜索功能
好.
RESTful JSON API
听起来不错,但我从不使用它.
编辑:
kue不是像库那样的cron.
默认情况下,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"); });
(我是作者)