如何让 heroku 停止为仅限工作人员的应用程序创建 Web 进程?

Nat*_*dly 6 heroku node.js procfile

我有一个简单的仅工作人员应用程序,它使用 heroku 的调度程序每天运行一次。然而,我注意到每次我推送代码并跟踪它到heroku创建一个Web进程,运行我的worker命令(两次!),然后在我的worker完成后声明它“崩溃”时,我都会得到额外的运行。

我的 Procfile 只有一项:

worker: npm start
Run Code Online (Sandbox Code Playgroud)

但是当我推送到heroku时,日志包括这一点:

-----> Discovering process types
       Procfile declares types   -> worker
       Default types for Node.js -> web
Run Code Online (Sandbox Code Playgroud)

这是怎么回事以及如何禁用它?

您可以在https://github.com/nfriedly/vzw-bot上查看我的完整代码,并在https://travis-ci.org/nfriedly/vzw-bot/builds/83548651上查看最近推送的日志

Nat*_*dly 6

我找到了一个解决方案,运行它将禁用默认的网络工作者:

heroku ps:scale web=0
Run Code Online (Sandbox Code Playgroud)

部署日志仍然报告默认的 Web 类型,但此后它实际上并没有启动。

  • 这是可行的,但是...是否真的没有办法覆盖“buildpack 的默认类型”,因此它根本不执行 Web 进程? (2认同)