Администратор сельдерея возвращает ошибку "нет такого файла или каталога"
Я использую supervisor для демонизации своего проекта django. Если я не запускаю сельдерей от супервизора, а начинаю с оболочки (celery -A proj worker --app=proj.celery:app --loglevel=INFO)
все отлично работает Когда я демонизирую программу сельдерея, журналы задач No such file or directory
и заканчивает немедленно.
Других проблем нет, рабочие живы, supervisorctl
статус сельдерея RUNNING
и т.д. В чем проблема?
мой celery_err.log
содержание файла:
[2018-04-08 15:24:01,121: INFO/MainProcess] Connected to redis://localhost:6379//
[2018-04-08 15:24:01,131: INFO/MainProcess] mingle: searching for neighbors
[2018-04-08 15:24:02,135: INFO/MainProcess] mingle: all alone
[2018-04-08 15:24:02,143: WARNING/MainProcess] /home/ali/Desktop/proj/projenv/local/lib/python2.7/site-packages/celery/fixups/django.py:265: UserWarning: Using settings.DEBUG leads to a memory leak, never use this setting in production environments!
warnings.warn('Using settings.DEBUG leads to a memory leak, never '
[2018-04-08 15:24:02,143: WARNING/MainProcess] celery@debian ready.
[2018-04-08 15:24:32,789: INFO/MainProcess] Received task: task_proj[441f7326-c847-4a29-a65d-543b8794e7a3]
[2018-04-08 15:24:32,797: INFO/Worker-2] task_proj[441f7326-c847-4a29-a65d-543b8794e7a3]: Sent scan request successfully
[2018-04-08 15:24:32,831: WARNING/Worker-2] [Errno 2] No such file or directory
[2018-04-08 15:24:32,843: WARNING/Worker-2] [Errno 2] No such file or directory
Мой supervisord.conf
содержание файла:
[program:proj]
environment=LANG=en_US.UTF-8,LC_ALL=en_US.UTF-8 ,PATH="/var/www/proj/projenv/bin", PROJ_ENV_FILE="/var/www/proj/proj.env",VIRTUAL_ENV="/var/www/proj/projenv",PYTHONPATH="/var/www/proj/projenv/lib/python:/var/www/proj/projenv/lib/python/site-packages"
command = /var/www/proj/bin/gunicorn_start
user = root
redirect_stderr = true
stdout_logfile=/var/www/proj/logs/django.log
stderr_logfile=/var/www/proj/logs/django_err.log
[program:redis]
command = /etc/redis-4.0.2/src/redis-server
[program:celery]
environment=LANG=en_US.UTF-8,LC_ALL=en_US.UTF-8 ,PATH="/var/www/proj/projenv/bin", PROJ_ENV_FILE="/var/www/proj/proj.env",VIRTUAL_ENV="/var/www/proj/projenv",PYTHONPATH="/var/www/proj/projenv/lib/python:/var/www/proj/projenv/lib/python/site-packages"
directory=/var/www/proj/proj
command = /var/www/proj/projenv/bin/celery -A proj worker --app=proj.celery:app --loglevel=INFO
user = root
redirect_stderr = true
stdout_logfile = /var/www/proj/logs/celery.log
stderr_logfile = /var/www/proj/logs/celery_err.log
autostart=true
autorestart=true
startsecs=10
stopwaitsecs=600
1 ответ
Каталог программы Celery должен указывать на корень проекта, а не на базовое приложение. Так что вместо directory=/var/www/proj/proj
, так должно быть directory=/var/www/proj
,