2012-10-16 29 views
19

Bu yüzden süpervizör kuruyorum ve çeşitli süreçleri kontrol etmeye çalışıyorum ve bunların hepsi iyi çalışıyor, şimdi bir grup kurmak istiyorum, böylece tüm süreçlerden ziyade farklı süreçleri başlatabilir/durdurabilirim. İşte benim config dosyamın bir pasajı. o iş, ama hiçbir şey yapmaz supervisorctl restart tapjoy: arayarak gerektiği gibi Süpervizörde bir grup nasıl kurulur?

[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 

Şimdi docs okumasını bu bana bakıyor.

Bir şey mi eksik?

Yıldız eklemek bir hata vermez, ancak hiçbir şey yapmaz.

supervisorctl restart tapjoy:* 

Not:

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 

cevap

23

Bir gruptaki tüm programları seçmek için bir * joker kullanmak gerekir sizin kabuk * kaçmaya sizi gerektirdiğini may, genellikle \*

+0

yerde docs bu göremiyorum! – EoghanM

+0

@EoghanM: "supervisorctl help restart" yazın, orada belgelenmiştir. –

+0

Ah, süpervizör yardımından sonra daha fazla belge olduğunu fark etmedi. Çevrimiçi dokümanlarda hiçbir şey yok. – EoghanM

1

ile Biliyorum eski bir iş parçacığı ama aynı soruna rastladım ve buradaki cevabı bulmak güzel olurdu. İleride başvurmak için yerine So:

program=tapjoy-game1,tapjoy-game2 

Sen gerekir:

programs=tapjoy-game1,tapjoy-game2 

Dokümanlar: http://supervisord.org/configuration.html#group-x-section-values

+0

gibi sadece bir yazım hatası olan cmd'yi kullanabilirsiniz. Onu düzelttim. Sorun aslında * yerine * için gerekliydi. –