用于 node.js 的 Heroku 工作者
Posted
技术标签:
【中文标题】用于 node.js 的 Heroku 工作者【英文标题】:Heroku workers for node.js 【发布时间】:2015-02-08 01:02:51 【问题描述】:我从 Heroku 开始,我有一个 web 应用程序,它的一部分需要每周运行一次(最好是星期一)。我一直在读一些关于工人的东西:here 和 here 和 here... 但我仍然有很多疑问:
1) 这个工人在没有严格控制的情况下在后台运行,不能安排每周运行一次。还是我错了?如果我错了,我该如何安排呢?
2) 要使它们正常工作,我究竟需要做什么?输入
web: node webApp.js
worker: node worker.js
在 Procfile 中(其中 worker.js 是程序的一部分,每周只需要运行一次)。仅此而已?没有其他的??太简单??
3) 最后一个……但也是最重要的。 “金钱的鳞状物质”......一个测功机与一个工人相同,所以如果你有一个为网络运行的测功机,你需要为工人购买另一个......不是吗?在价格清单上,额外的测功机成本为 34.5 美元(27.87 欧元)。不便宜...所以我想知道我是否正确,如果您想运行工人,是否需要购买测功机?
【问题讨论】:
【参考方案1】:您可能会发现 Heroku Scheduler 插件 (https://devcenter.heroku.com/articles/scheduler) 是一个“足够好”的低成本选项。您需要按计划任务的运行小时数付费,因此如果您有一个只需要很短时间运行的常规作业,那么它的运行成本会比连续工作进程便宜得多。
它在调度方面不如其他选项灵活。它可以设置为每天或每小时在特定时间运行任务。因此,如果您只需要在星期一运行任务,那么您需要让调度程序每天运行,然后检查 worker.js
中的日期并在其他日期立即退出。
【讨论】:
以上是关于用于 node.js 的 Heroku 工作者的主要内容,如果未能解决你的问题,请参考以下文章
Node.js + Mongoose 可以在本地工作,但不能在 Heroku 上工作
Node.js 应用程序适用于工头,但不适用于 heroku。 404 错误
如何将 node.js 应用程序部署到 heroku?有没有可能?
Mongodb atlas + node.js 在本地工作,但在推送到 Heroku 时停止