2012-10-16 12 views
19

Tak więc tworzę superwizora i próbuję kontrolować kilka procesów i wszystko działa dobrze, teraz chcę skonfigurować grupę, aby móc uruchamiać/zatrzymywać różne zestawy procesów, a nie wszystko albo nic. Oto fragment mojego pliku konfiguracyjnego.Jak ustawić grupę w superwizji?

[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 

Teraz czytając docs to wygląda mi jak to powinno działać, ale nazywając supervisorctl restart tapjoy: nic nie robi.

Czy brakuje mi czegoś?

Dodanie gwiazdki nie powoduje błędu, ale też nie powoduje żadnej operacji.

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 

Odpowiedz

23

Musisz użyć * wieloznaczny, aby wybrać wszystkie programy w grupie:

supervisorctl restart tapjoy:* 

Uwaga: to może, że powłoka wymaga, aby uciec *, zwykle z \*

+0

nie widać tego w docs wszędzie! – EoghanM

+0

@EhhanM: wpisz 'supervisorctl help restart', jest tam udokumentowana. –

+0

Ah nie zdawałem sobie sprawy, że istnieje dodatkowa dokumentacja po "superwizorze pomocy". W dokumentach online nie ma nic. – EoghanM

1

Wiem, że to stary wątek, ale wpadłem na ten sam problem i dobrze byłoby znaleźć odpowiedź tutaj. Tak na przyszłość, zamiast:

program=tapjoy-game1,tapjoy-game2 

potrzebował:

programs=tapjoy-game1,tapjoy-game2 

Dokumenty: http://supervisord.org/configuration.html#group-x-section-values

+0

To był tylko literówka. Poprawiłem to. Problem polegał na tym, że \\ * zamiast *. –

Powiązane problemy