2015-03-11 34 views
13

Zarządzam robotem Seler, który przetwarza kolejkę za pośrednictwem Inspektora.kierownik - jak uruchamiać wiele poleceń

Oto mój /etc/supervisor/celery.conf:

[program:celery] 
command = /var/worker/venv/bin/celery worker -A a_report_tasks -Q a_report_process --loglevel=INFO 
directory=/var/worker 
user=nobody 
numprocs=1 
autostart=true 
autorestart=true 
startsecs=10 
stopwaitsecs = 60 
stdout_logfile=/var/log/celery/worker.log 
stderr_logfile=/var/log/celery/worker.log 
killasgroup=true 
priority=998 

Jak mogę dodać to drugie polecenie, aby uruchomić?

/var/worker/venv/bin/celery worker -A b_report_tasks -Q b_report_process --loglevel=INFO 

Próbowałem oddzielające dwa polecenia w tej samej linii z && (spowodowało błąd składni), dodając zupełnie oddzielny [program:celery] sekcję do tego samego pliku (zaowocowało tylko pierwszy z nich to run) oraz tworzenie całkowicie inny plik celery1.conf w tym samym katalogu (w wyniku tego został uruchomiony tylko oryginalny/pierwszy).

+0

ze swojego oddelegowania, pierwsze polecenie jest taki sam jak drugi. Czy to literówka? – dhke

+0

Ups! Tak, to był literówka. Naprawiony. – okoboko

Odpowiedz

19

Dodaj drugą sekcję z inną nazwą zadania. Jeśli dwa zadania mają tę samą nazwę zadania, druga z nich zastępuje tę pierwszą.

[program:celeryb] 
command = /var/worker/venv/bin/celery worker -A b_report_tasks -Q b_report_process --loglevel=INFO 
directory=/var/worker 
user=nobody 
numprocs=1 
autostart=true 
autorestart=true 
startsecs=10 
stopwaitsecs = 60 
stdout_logfile=/var/log/celery/worker.log 
stderr_logfile=/var/log/celery/worker.log 
killasgroup=true 
priority=998 

Można również grupa im więc oba zadania dostać wznowiona jako grupa:

[group:celery-workers] 
programs=celery,celeryb 
priority=999