2012-10-16 13 views
19

私はsupervisordをセットアップしていくつかのプロセスを制御しようとしていますが、すべて正常に動作するので、グループをセットアップして、すべてまたは何も処理するのではなく、異なるプロセスセットを開始/停止できます。ここに私の設定ファイルのスニペットがあります。supervisordでグループを設定するには?

[group:tapjoy] 
programs=tapjoy-game1,tapjoy-game2 

[program:tapjoy-game1] 
command=python tapjoy_pinger.py -g game1 
directory=/go/here/first 
redirect_stderr=true 
autostart=true 
autorestart=true 
stopasgroup=true 
killasgroup=true 

[program:tapjoy-game2] 
command=python tapjoy_pinger.py -g game2 
directory=/go/here/first 
redirect_stderr=true 
autostart=true 
autorestart=true 
stopasgroup=true 
killasgroup=true 

ドキュメントを読んでから、これはそれが動作するはずのように私には見えますが、 supervisorctl restart tapjoy: を呼び出すと、何もしません。

何か不足していますか?

スターを追加してもエラーは発生しませんが、何もしません。

supervisorctl restart tapjoy:* 

注:

supervisorctl restart tapjoy:* 
supervisorctl status 
tapjoy_game1      RUNNING pid 4697, uptime 1 day, 21:56:23 
tapjoy_game2      RUNNING pid 4698, uptime 1 day, 21:56:23 
tapjoy_game3      RUNNING pid 4699, uptime 1 day, 21:56:23 
tapjoy_game4      RUNNING pid 4700, uptime 1 day, 21:56:23 
tapjoy_game5      RUNNING pid 4701, uptime 1 day, 21:56:23 

答えて

23

あなたは、グループ内のすべてのプログラムを選択するには*ワイルドカードを使用する必要があり、それはあなたのシェルが*をエスケープする必要があることが、通常\*

+0

はどこでもドキュメントでこれを見ることはできませんが! – EoghanM

+0

@ EoghanM: 'supervisorctl help restart'とタイプしてください、それはそこに文書化されています。 –

+0

ああ、 'supervisorctl help'の後にさらなるドキュメンテーションがあることに気付かなかった。オンラインドキュメントには何もありません。 – EoghanM

1

で私はそれが古いスレッドだと知っていますが、私は同じ問題に遭遇しました。そして、ここで答えを見つけることは良いことでした。だから、今後の参考のために、代わりの:

program=tapjoy-game1,tapjoy-game2 

は次のものが必要です。

programs=tapjoy-game1,tapjoy-game2 

ドキュメント:http://supervisord.org/configuration.html#group-x-section-values

+0

これはちょっとタイプミスです。私はそれを修正しました。問題は実際には*の代わりに\\ *の必要性でした。 –

関連する問題