2015-11-12 13 views
0

我正在與django芹菜一起工作,我有一位主管deamon,但我在django管理員中遇到問題我看不到任務的狀態, 我可以只有在django admin中查看我的任務狀態,當我在控制檯中輸入python manage.py celerycam, 我如何運行celerycam的守護進程。如何用celerycam運行djcelery的守護進程

+0

這與您使用管理員設置芹菜的方式相同,但是使用命令'./manage.py celerycam'。 –

+0

我在命令=/deploy/venvs/venvSite/bin/python deploy/sites/web/manage.py celerycam中有這個,但這不行我運行主管時出現錯誤 – nuxq

回答

0

你可以用你的app和芹菜和supervisorctl一起啓動你的celerycam守護進程。

示例配置文件(/etc/supervisor/conf.d/app_name.conf):

# app config 
[program:app_name] 
user = www-data 
directory = /var/www/app_name 
command = /var/www/app_name/bin/python /var/www/app_name/bin/gunicorn agora.wsgi_server:application --bind 127.0.0.1:8022 -t 90 --workers 4 --settings='app_name.settings.production' 
redirect_stderr = true 
autorestart=true 
stdout_logfile = /var/log/supervisor/app_name.log 
stderr_logfile = /var/log/supervisor/app_name_err.log 
stdout_logfile_maxbytes=50MB 
stdout_logfile_backups=50 
stdout_capture_maxbytes=1MB 
stdout_events_enabled=false 
loglevel=warn 
autostart = true 
stopsignal=KILL 
environment=LANG="en_US.UTF-8",LC_ALL="en_US.UTF-8",LC_LANG="en_US.UTF-8" 
stopasgroup=true 
killasgroup=true 

# celerycam config 
[program:app_name_celerycam] 
user = www-data 
directory = /var/www/app_name 
command = /var/www/app_name/bin/python manage.py celerycam --settings='app_name.settings.production' 
redirect_stderr = true 
autorestart=true 
stdout_logfile = /var/log/supervisor/app_name_celerycam.log 
stderr_logfile = /var/log/supervisor/app_name_celerycam_err.log 
stdout_logfile_maxbytes=50MB 
stdout_logfile_backups=50 
stdout_capture_maxbytes=1MB 
stdout_events_enabled=false 
loglevel=warn 
autostart = true 
stopwaitsecs=5 

# celery config 
[program:app_name_celery] 
user = www-data 
directory = /var/www/app_name 
command = /var/www/app_name/bin/python manage.py celeryd -l INFO -E -B --settings='app_name.settings.production' --concurrency=1 --pidfile=/var/run/celery/app_name_celery.pid 
redirect_stderr = true 
autorestart=true 
stdout_logfile = /var/log/supervisor/app_name_celery.log 
stderr_logfile = /var/log/supervisor/app_name_celery_err.log 
stdout_logfile_maxbytes=50MB 
stdout_logfile_backups=50 
stdout_capture_maxbytes=1MB 
stdout_events_enabled=false 
loglevel=warn 
autostart=true 
stopwaitsecs=5 
environment=C_FORCE_ROOT=1 
stopasgroup=true 
killasgroup=true 

# group of our daemons 
[group:app_name] 
programs=app_name,app_name_celerycam,app_name_celery 
priority=999 

刷新我們的配置:

supervisorctl reread 

現在,我們可以管理我們的應用程序的所有服務程序有簡單的命令:

supervisorctl start app_name:* 
supervisorctl stop app_name:* 
supervisorctl restart app_name:* 
supervisorctl status app_name:* 
相關問題