【问题标题】:Can I set the number of worker processes in app.json?我可以在 app.json 中设置工作进程的数量吗?
【发布时间】:2018-10-08 14:16:04
【问题描述】:

我写了一个 Node 应用程序,它只使用一个工作进程,没有 web 进程。 Deploy to Heroku button 正在部署应用程序:我将 WEB_CONCURRENCY 环境变量设置为 0 以禁用 Web 进程,但我天真地使用 WORKER_CONCURRENCY 变量并没有设置工作进程的数量。

我知道我可以只要求人们运行 heroku ps:scale worker=1 来创建工作进程,但如果我可以避免这个额外的配置步骤,我会很高兴。

【问题讨论】:

标签: heroku


【解决方案1】:

您现在可以通过 app.json 中的“formations”设置执行此操作,如下所述:https://devcenter.heroku.com/articles/app-json-schema#formation

虽然他们的示例只显示了网络,但我已经测试过它也适用于其他格式名称(例如,在您的 Procfile 中定义)。

【讨论】:

    【解决方案2】:

    以下是我如何使用 app.json 中的结构让一个应用程序仅由一个工作人员部署:

    {
      ...,
      "formation": {
        "web": {
          "quantity": 0,
          "size": "free"
        },
        "worker": {
          "quantity": 1,
          "size": "free"
        }
      },
      ...
    }
    

    【讨论】:

      【解决方案3】:

      我写信给 Heroku 支持,他们说:

      恐怕目前没有办法做到这一点。

      严厉!

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-11-18
        • 2016-02-16
        • 2019-01-21
        • 1970-01-01
        • 2012-10-12
        • 1970-01-01
        • 2013-03-14
        • 2010-09-24
        相关资源
        最近更新 更多