supervisorctl kullanarak sadece belirli süreçler nasıl yeniden başlatılır?


107

Supervisord kullanan process1, process2, ..., process8 adlı birkaç işlemi çalıştırıyorum. {1-4} işlemini yeniden başlatmak istersem, bunu supervisorctl ile nasıl yapabilirim?

Yanıtlar:


177

süpervizör, süreç gruplarını destekler . Süreçleri adlandırılmış gruplar halinde gruplayabilir ve toplu olarak yönetebilirsiniz.

[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

supervisorctl komutu bir grup adıyla çağrılabilir:

supervisorctl restart foo:

yanı sıra birden çok işlem adıyla:

supervisorctl restart foo:cat1 cat2

47
Bir süreç grubuna komutlar verirken iki nokta üst üste konulması gerektiğini öğrenmenin ne kadar önemsiz bir şey olmadığı şaşırtıcı. Teşekkür ederim.
mafrosis

4
Kabul. Bence supervisorctl restart foo:*olanları daha net hale getiriyor.
Tom

Dolayısıyla, OP'nin sorusuna doğrudan cevap vermek için, belirli bir işlemi doğrudan yeniden başlatamazsınız. Yalnızca bir grup etiketi gerektiren grupları yeniden başlatabilirsiniz?
Cerin

@Cerin Kendi testlerimden, tam olarak aynı sonuca vardım. Anekdot olarak konuşursak, tüm işlemleri içeren .conf dosyalarının sonunda bir grup görme eğilimindeyim. Tekrarlanan bir gözlem olarak, bu hiçbir anlam ifade etmiyordu. Şimdi tamamen mantıklı :)
AlanSE


3

Yana supervisorctlkomut satırında birden çok işlem kabul, birden süreçleri kontrol etmek kabuk ayracı genişleme (örneğin Bash) yararlanabilir:

supervisorctl restart process{1..4}

genişletildi kabuk tarafından içine

supervisorctl restart process1 process2 process3 process4

Bunu açıkça yazmışsınız gibi.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.