2015-08-03 4 views
2

На DEV сервере Django хорошо работает с сельдереем и Джанго-сельдерей:Джанго + сельдерей + uwsgi без супервизора

python manage.py runserver 
celery -A backup worker -l info -B 
celerycam --frequency=10.0 

На производственном сервере я попытался запустить сельдерей с:

[uwsgi] 
... 
master = True 
smart-attach-daemon = ${path}/${name_project}/.env/bin/python ${path}/manage.py celery -A test worker -l info -B 
smart-attach-daemon = ${path}/${name_project}/.env/bin/python ${path}/manage.py celerycam --frequency=10.0 

Но это не работает. Как я могу запустить все это без использования супервизора?

Update

Он не видит Django, но сайт работает. В журналы uwsgi:

Mon Aug 3 16:10:57 2015 - spawned uWSGI master process (pid: 23462) 
Mon Aug 3 16:10:57 2015 - spawned uWSGI worker 1 (pid: 23666, cores: 1) 
Mon Aug 3 16:10:57 2015 - spawned uWSGI worker 2 (pid: 23667, cores: 1) 
Mon Aug 3 16:10:57 2015 - [uwsgi-daemons] spawning "/home/1/2/3/manage.py celery -A backup worker -l info -B" 
Mon Aug 3 16:10:57 2015 - [uwsgi-daemons] spawning "/home/1/2/3/manage.py celerycam --frequency=10.0" 
Traceback (most recent call last): 
    File "/home/1/2/3/manage.py", line 8, in <module> 
    from django.core.management import execute_from_command_line 
ImportError: No module named django.core.management 
Traceback (most recent call last): 
    File "/home/1/2/3/manage.py", line 8, in <module> 
    from django.core.management import execute_from_command_line 
ImportError: No module named django.core.management 
Mon Aug 3 16:10:58 2015 - subprocess 23668 exited with code 1 
Mon Aug 3 16:10:58 2015 - subprocess 23669 exited with code 1 

manage.py:

#!/usr/bin/env python 
import os 
import sys 

if __name__ == "__main__": 
    os.environ.setdefault("DJANGO_SETTINGS_MODULE", "backup.settings") 

    from django.core.management import execute_from_command_line 

    execute_from_command_line(sys.argv) 
+0

Какие ошибки вы получаете? Выход журнала? Какую версию uWSGI вы используете, поддерживает ли она умных демонов? – Tony

+0

Добавлены журналы uwsgi. uWSGI 1.9.17.1-debian (64 бит) – kjefes

ответ

1

Заменить "смарт-присоедините-демон" на "Attach-демон"

2

Вы можете использовать либо attach-daemon или smart-attach-daemon. Но если вы используете смарт-Attach-демон, то вы также должны начать сельдерей с ВЗОМТ файла и установить путь к нему в uwsgi:

smart-attach-daemon = ${path}/${name_project}/var/celery-worker.pid ${path}/${name_project}/.env/bin/python ${path}/manage.py celery -A test worker --pidfile=${path}/${name_project}/var/celery-worker.pid -l info -B 
Смежные вопросы