[英]Synchronize multiple node.js dynos
我打算在Heroku上托管一个快速应用程序(我已经在尝试使用单个dyno)。
我想使用node-cron执行维护任务(进行一些MongoDB更新)。 问题是,确保维护仅运行一次的最简单方法是什么? 所有dynos都将尝试同时运行维护。
我当前的方法将MongoDB的原子更新用作某种信号量(每个dyno都尝试为当前维护设置标志)。 但这有点丑陋。
我不想有一个单独的工作程序实例,因为它实际上只是一个简单的任务,每天需要运行一次。
我认为这就是Heroku Scheduler的优点( https://devcenter.heroku.com/articles/scheduler )。 如果更新的执行时间不会太长,则可以采用此方法。 您编写了一个JS脚本(例如schedule.js),该脚本知道如何更新MongoDB,将其放在根目录中,并使用Heroku Scheduler(它带有一个简单的前端)对其进行node scheduler.js
以在其上调用它( node scheduler.js
)。所需时间。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.