节点调度程序在节点服务器崩溃时销毁任务

时间:2017-05-17 05:32:52

标签: javascript node.js scheduled-tasks

我创建了一个应用程序,其中我使用节点服务器进行webServices。我的应用程序具有预订航班的功能。电影票&公共汽车票&还有更多..

我需要在用户的航班/公共汽车时间/电影/等等2小时之前向用户发送提醒信息...

所以我使用Node-Scheduler它允许你设置这种动态的cron作业..

我在租用时使用linux服务器(我没有云)并使用forever模块/包。

现在永远做的是每当我的节点服务器崩溃时......它会自动重启..如果节点服务器崩溃,那么我的node-scheduler cron作业就是破坏调度程序作业。

我正在使用mySql数据库。所以,...

有没有解决这个问题的方法?

1 个答案:

答案 0 :(得分:1)

将计时器作业详细信息存储在DB /或文件中, 并使用事务方法来创建/管理计时器作业。

服务器启动后,从文件/ DB加载作业。 这应该保持一致。

为了更加健壮,您应该将节点服务器中的调度应用程序代码作为一个单独的进程运行,这样您的调度程序就不会使用您的节点服务器应用程序。

要获得高水平的可扩展稳健性,请尝试将您的服务(调度程序和Web服务)作为微服务进行连接,也可以使用像SenecaJS这样的微服务工具包。