我的应用程序位于 node js
我希望他们按照预定的时间执行
但问题出现在之间,如果我的服务器崩溃/停止/重新启动,那么那些预定的作业就不会被持久化并且不会被执行。
此外,我的所有工作都只使用单个流程进行安排和执行,但我希望多个流程完成这项工作
即使我的服务器没有运行,我也希望我的所有工作都持久执行并执行,即使我的节点服务器重新启动或更好地执行它。
议程 - 使用我不想使用的mongoDB
Node -scheduler - 无法保留cron作业
var ctab = require('crontab');
ctab.load(function(err, crontab) {
var job = crontab.create('* * * * * *');
var jobs = crontab.jobs();
crontab.save(function(err, crontab) {
});
});
var ctab = require('crontab');
ctab.load(function(err, crontab) {
var job = crontab.create('* * * * * *');
var jobs = crontab.jobs();
crontab.save(function(err, crontab) {
});
});
答案 0 :(得分:3)
如果您使用MySQL,可以尝试使用此npm package
在其他情况下,您需要构建自己的解决方案。在这种情况下,我创建了一个集合/表来存储计划状态和规则。然后,如果服务崩溃或重新启动,您可以从数据库中获取所有计划,然后从app.listen
事件重新启动它们。