如何让工头开始上帝

Lui*_* E. 0 ruby god ruby-on-rails-3 foreman

我有一个像这样的Procfile:

web: bundle exec unicorn -c config/unicorn.rb -E production
god: god -c services.god
Run Code Online (Sandbox Code Playgroud)

但是foreman start god没有开始...它只是这样说:

17:14:32 god.1  | started with pid 29506
17:14:32 god.1  | exited with code 0
17:14:32 system | sending SIGTERM to all processes
SIGTERM received
Run Code Online (Sandbox Code Playgroud)

如果我跑god -c services.god,所有服务运行良好...
任何想法?
谢谢

Ral*_*alf 5

你不应该和领班一起上帝.foreman用于指定应用程序中的所有后台(和Web)进程,而god是这些进程的进程监视框架.

通常,您应该:

  1. 直接在您的Procfile(而不是services.god)中指定所有流程,并用于foreman start在开发中运行它们.
  2. 使用god来监控生产过程.我使用foreman_god gem直接加载Procfile.或者,您可以导出上帝配置文件.

也就是说,如果你真的想要从工头上运行上帝:默认情况下,上帝作为守护进程运行,守护进程不能与领工一起工作(请参阅此维基页面).如果你将-D(不要守护进程)选项传递给上帝,它应该可以工作:

god: god -D -c services.god
Run Code Online (Sandbox Code Playgroud)