阅读Heroku文档我不了解进程和dynos之间的匹配,每个dyno有一个进程吗?或者每个dyno可以有多个进程吗?
谢谢
答案 0 :(得分:1)
一个dyno是一个容器。你可以把它想象成一个服务器。
Heroku允许您监控每个dyno的单个进程,如果该进程崩溃,则在另一个实例上重新启动dyno。
但是如果你愿意,你可以启动多个。如果它们崩溃,它们将不会自动重启。
这样做的一种方法是创建一个start-process
文件,并为其提供+x
chmod标志,以便可以执行。
然后,在该文件中,您将拥有以下内容:
#!/bin/bash -e
start-first-process &
start-second-process
这将启动第一个过程(不要忘记最后的&
,因此它在后台启动)然后启动第二个过程,并将其视为主过程(如果它停止,你的dyno重启)。
您的Procfile将如下所示:
worker: start-process
dyno将命名为worker
,您可以使用以下命令对其进行扩展:
heroku ps:scale worker = 1