0

次のような Procfile があります。

web: bundle exec unicorn -c config/unicorn.rb -E production
god: god -c services.god

しかし、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

を実行するgod -c services.godと、すべてのサービスが正常に実行されます...
アイデアはありますか?
ありがとう

4

2 に答える 2

5

職長と一緒に神を実行するべきではありません。foreman はアプリケーションのすべてのバックグラウンド (および Web) プロセスを指定するために使用され、god はそれらのプロセスのプロセス監視フレームワークです。

通常、次のことを行う必要があります。

  1. Procfileすべてのプロセスを(の代わりに) で直接指定し、開発でそれらを実行するためにservices.god使用します。foreman start
  2. 神を使用して、生産プロセスを監視します。私はforeman_god gem を使用して、Procfile を直接 God でロードします。または、神の設定ファイルをエクスポートすることもできます。

そうは言っても、本当にフォアマンから神を実行したい場合: 神はデフォルトでデーモンとして実行され、デーモンはフォアマンでは動作しません (この wiki ページを参照してください)。-D (デーモン化しない) オプションを God に渡すと動作するはずです:

god: god -D -c services.god
于 2012-11-12T08:51:37.407 に答える
1

rvm で神を使用している場合は、このようなものを使用する必要があります。

god: rvmsudo god -c /path_to_yourgod_file.god

しかし、1 つの監視システムを使用して作業を完了できるのに、なぜ 2 つの異なる監視システムが必要なのでしょうか?

于 2012-10-25T12:38:54.310 に答える