2014-07-02 13 views
18

Quando si avvia un processo utilizzando supervisord, si trova nello stato "INIZIALE", quindi se si verifica un problema si ottiene nello stato "BACKOFF" se è presente un autorestart impostato su true.Come forzare supervisord per interrompere un processo nello stato BACKOFF

Non voglio aspettare "startretries" da tentare, voglio interrompere il processo di riavvio manualmente usando supervisorctl. L'unico modo che ho trovato per farlo è fermare l'intero servizio di supervisione e avviarlo di nuovo (ogni processo va in stato "STOPPED" se non c'è autostart).

Esiste un modo migliore per farlo (forzare lo stato "STOPPED" dallo stato "BACKOFF") in quanto ho altri processi gestiti in supervisord che non voglio interrompere?

Se provo a fermarlo con

supervisorctl stop process 

ottengo

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

Se provo a cominciare con

supervisorctl start process 

ottengo

process: ERROR (already started) 

Ovviamente potrei disabilitare l'avvio automatico, ma può essere utile, una soluzione è limitare le stelle, esiste una soluzione migliore?

risposta

3

Hey questo forse aiuto per voi:

Quando un processo autorestarting è nello stato di backoff, sarà automaticamente riavviato da supervisord. Si passerà dalla AVVIAMENTO e backoff stati fino a quando diventa evidente che non può essere avviato perché il numero di startretries ha superato massimo, a quel punto passerà allo stato FATAL. Ogni nuovo tentativo richiederà più tempo.

quindi non è necessario interrompere manualmente il processo BACKOFF. se non vuoi aspettare troppo a lungo, è meglio impostare un numero limitato per le startretries.

vedere maggiori informazioni qui: http://supervisord.org/subprocess.html

BUONA LCUKY

+6

questo davvero non risponde alla domanda - gli hai semplicemente detto che non ha bisogno di fare quello che ha chiesto. "non è necessario interrompere manualmente il processo BACKOFF". chiede come passare da BACKOFF a STOPPED, quindi può essere sicuro che il processo non ricomincia. – keen

-3

Utilizzare il seguente comando per forzare supervisore per fermare un processo in stato di backoff.

supervisorctl stop <gname>:* 
Problemi correlati