2014-07-02 10 views
18

Po uruchomieniu procesu z użyciem nadzorcy jest on w stanie "START", a jeśli pojawi się problem, przechodzi do stanu "BACKOFF", jeśli zestaw autorestart ma wartość true.Jak zmusić nadzorcę do zatrzymania procesu w statusie BACKOFF

Nie chcę czekać na "startretries", próbuję zatrzymać proces restartowania ręcznie za pomocą supervisorctl. Jedynym sposobem, jaki udało mi się to zrobić, jest zatrzymanie całej usługi nadzoru i uruchomienie jej ponownie (każdy proces przechodzi w stan "STOPPED", jeśli nie ma autostartu).

Czy istnieje lepszy sposób na zrobienie tego (wymuszenie statusu "STOPPED" ze statusu "BACKOFF"), ponieważ mam inne procesy zarządzane przez supervisor, których nie chcę przestać?

Gdy próbuję zatrzymać go

supervisorctl stop process 

uzyskać

FAILED: attempted to kill process with sig SIGTERM but it wasn't running 

Gdy próbuję uruchomić go z

supervisorctl start process 

uzyskać

process: ERROR (already started) 

Oczywiście mogłem wyłączyć autorestart, ale może to być przydatne, rozwiązaniem jest ograniczenie startów, czy istnieje lepsze rozwiązanie?

Odpowiedz

3

Hej to może pomóc dla Ciebie:

Gdy proces autorestarting jest w stanie odczekania, to będzie automatycznie uruchomiony przez supervisord. będzie się przełączać między URUCHAMIANIE i odczekania stany aż staje się oczywiste, że nie można uruchomić, ponieważ liczba startretries przekroczyła maksimum, w którym momencie będzie to przejście do stanu śmiertelne. Każda próba ponownego uruchomienia będzie trwać coraz więcej razy.

, więc nie trzeba ręcznie przerywać procesu BACKOFF. jeśli nie chcesz czekać zbyt długo, lepiej jest ustawić małą liczbę na startretrie.

zobaczyć więcej informacji tutaj: http://supervisord.org/subprocess.html

DOBRY LCUKY

+6

to naprawdę nie rozwiązuje problemu - po prostu powiedziałeś mu, że nie musi robić tego, o co prosił. "nie musisz ręcznie zatrzymywać procesu BACKOFF". pyta, jak może przełączyć ze stanu BACKOFF na STOPPED, aby mógł być pewien, że proces nie rozpocznie się z powrotem. – keen

-3

użyć następującego polecenia w celu zmuszenia przełożonego, aby zatrzymać proces w stanie odczekania.

supervisorctl stop <gname>:* 
Powiązane problemy