作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我试过this tutorial在 Heroku 服务器上生成两个工作线程。
但根据这个示例,我只同时运行一个工作线程。当应用程序启动时,是否可以生成 2 个运行 2 个不同作业的工作线程?
我已经尝试使用以下方法来扩展工作人员:heroku ps:scaleworker=2
。但是当我这样做时,它只会影响 WorkerProcess 类,并且我有两个 WorkerProcess 类同时运行。
最佳答案
是的,您可以拥有任意数量的工作进程。它们只需要在您的 Procfile 中具有不同的名称即可。在您引用的文章中,单例 worker 被称为 worker
,但是您的 Procfile 可能看起来像这样,有两个不同的工作进程,名为 updater
和mailer
:
web: java -jar web-app.jar $PORT
updater: sh worker/target/bin/updater
mailer: sh worker/target/bin/mailer
如果您使用 appassembler-maven-plugin
如文章中所示,您还需要添加另一个 <program>...</program>
为每个工作人员添加元素,以便生成必要的启动脚本。
关于java - 如何生成多个工作线程并将它们绑定(bind)到 Heroku 上的非 Web Java 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15650117/
我是一名优秀的程序员,十分优秀!