Domanda

sto correndo un paio di processi utilizzando supervisord, chiamato process1, process2, ..., process8. Se voglio processo di riavvio {1-4}, come posso farlo con supervisorctl?

È stato utile?

Soluzione

href="http://supervisord.org/configuration.html#group-x-section-settings" . È possibile processi di gruppo in gruppi denominati e gestirli collettivamente.

[unix_http_server]
file=%(here)s/supervisor.sock

[supervisord]
logfile=supervisord.log
pidfile=supervisord.pid

[program:cat1]
command=cat

[program:cat2]
command=cat

[program:cat3]
command=cat

[group:foo]
programs=cat1,cat3

[supervisorctl]
serverurl=unix://%(here)s/supervisor.sock

[rpcinterface:supervisor]
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface

Comando supervisorctl può essere chiamato con il nome del gruppo:

supervisorctl restart foo:

così come con i nomi dei processi multipli:

supervisorctl restart foo:cat1 cat2

Altri suggerimenti

Da supervisorctl accetta più processi sulla linea di comando, è possibile usufruire di espansione delle graffe shell (per esempio in Bash) per controllare molteplici processi:

supervisorctl restart process{1..4}

viene espanso dalla shell in

supervisorctl restart process1 process2 process3 process4

come se si fosse digitato che in modo esplicito.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top