Node.js的Heroku工作者

时间:2014-12-09 23:26:13

标签: node.js heroku worker

我从Heroku开始,我有一个webapp,其中一部分需要每周运行一次(周一最好)。我一直在读一些关于工人的事情:herehere以及here ......但我还是有很多疑问:

1)这些工人在没有严格控制的背景下运行,不能安排每周运行一次。或者我错了?如果我错了,我该如何安排呢?

2)为了让它们发挥作用,我到底需要做什么?输入

 web:     node webApp.js
 worker:  node worker.js
Procfile中的

(其中worker.js是程序的一部分,每周只需运行一次)。这就是全部??没有其他的??太简单??

3)最后一个......但最重要的是。 “鳞片之间的钱”...一个dyno和一个工人一样,所以如果你有一个dyno在网上运行你需要为工人买另一个......不是吗?在价格清单上额外的dyno花费34.5 $(27.87€)。它不便宜......所以我想知道我是不对的,如果你想要一个工人,是否有必要买一个dyno?

1 个答案:

答案 0 :(得分:5)

您可能会发现Heroku Scheduler插件(https://devcenter.heroku.com/articles/scheduler)足够好'低成本选择。您需要支付计划任务运行的小时数,因此,如果您的常规工作只需要很短的时间就可以运行,那么它将比连续的工作流程便宜得多。

在调度方面不像其他选项那样灵活。它可以设置为每天或每小时在特定时间运行任务。因此,如果您需要让您的任务运行仅在星期一说,那么您需要每天运行调度程序,然后检查worker.js中的日期并在其他日期立即退出。