Heroku最佳实践时钟与node.js

ddi*_*ase 5 heroku scheduled-tasks node.js

我想知道在Heroku上设置时钟进程的最佳方法是什么.我的应用程序完全由Node构建,我计划使用node-schedule来指定我的日程安排.

我的问题是:时钟进程本身是否应该触发我的cron进程中的事件并在它自己分配的dyno中运行它们?Heroku似乎表明你应该使用一个工人来处理这个问题.在那种情况下,我想知道如何让我的时钟进程告诉工人运行特定的程序?

我一直在阅读Python方法来执行此操作,看起来它们只是在同一个dyno中触发进程.

谢谢.

Dan*_*ohn 2

Heroku 表示,时钟进程应该触发一个新的测功机,这对于可扩展性来说是有意义的,因为您可以将频率提高到 11 并中断时钟进程。https://devcenter.heroku.com/articles/scheduled-jobs-custom-clock-processes

我将使用https://github.com/toots/node-heroku在单独的一次性测功机中启动新进程。但是,如果您想要一个处理时钟进程的工作池,那么您将需要像 Resque 或 Kue 这样的队列。时钟进程将使新任务入队,工作进程将它们出队。

  • @OliverJ90 回答有点晚了,但对于未来的读者来说,应该添加不带“run”的任务,例如“node my_task.js”,或者也许“npm run Something”。 (2认同)