Heroku工人用于Node.js

9
我正在使用Heroku,并且有一个Web应用程序,其中有一部分需要每周运行一次(最好在星期一)。我阅读了一些关于工作人员的内容:这里这里以及这里...但我仍然有很多疑问:
1)这些工作者在后台运行,没有严格的控制,无法安排每周运行一次。或者我错了吗?如果我错了,该如何安排?
2)要使它们工作,我需要做什么?键入
 web:     node webApp.js
 worker:  node worker.js

在Procfile文件中(其中worker.js是程序中只需要每周运行一次的部分)。然后就这样??没有别的吗?? 非常简单吗?

3)最后一个问题...但也是最重要的。就是“金钱问题”... 一个dyno等同于一个worker,所以如果你有一个用于Web的dyno正在运行,你需要再购买一个用于worker...是这样吗?在价格列表中,额外的dyno成本为34.5美元(27.87欧元)。这不便宜...所以我想知道我的理解是否正确,如果想运行worker,是否需要购买dyno?

1个回答

6
你可能会发现 Heroku Scheduler 插件(https://devcenter.heroku.com/articles/scheduler)是一种低成本的足够好的选择。你将根据任务运行的小时数付费,因此如果你有一个只需短时间运行的定期任务,那么它比连续工作进程要便宜得多。
与其他选项相比,它的调度灵活性较差。它可以设置为每天或每小时在特定时间运行任务。因此,如果您需要仅在周一运行任务,则需要将调度程序设置为每天运行,然后在您的 worker.js 中检查日期,并立即退出其他日期。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接