我想开发一个node.js程序,该程序将使用作业调度程序(node-schedule)在特定时间执行。 该程序使用forever(node.js模块)在后台运行。 这是我的app.js的内容:
var schedule = require('node-schedule');
〜 〜
var id = request.body.id;
var scheduled = schedule.scheduledJobs;
if(scheduled[id]!=null){
//Tasks
}
else{
scheduled[id].cancel;
delete scheduled[id];
}
但如果app.js被任何原因杀死,
schedule
对象已删除。
有时app.js会永远重启。
我该如何处理节点计划对象?
答案 0 :(得分:1)
我最近遇到过类似的问题,有两种解决方案: 1.使用实际的cron 2.使用数据库
我通过使用数据库解决了我的问题。每次创建一些事件时都将其保存到数据库。在app.js文件中,当应用程序启动时,make函数会读取数据库并相应地创建预定事件。
如果您没有动态任务,没有创建新任务或它们始终相同,则第一个选项会更好。