2015-04-27 3 views
2

Я пытаюсь запустить сельдерей и сельдерей в производстве. В моем текущем приложении django я могу протестировать и запустить с помощью команд «celery -Agorgon worker» и «celery -AGorgon beat -l debug -max-interval = 10». Кроме того, я запускаю его через virtualenv. Кроме того, я использую redis в качестве брокера задач.Сельдерей не работает в производстве

Все приложение работает на сервере-пулемете. Но, когда я пытаюсь выполнить демонизацию процесса, он терпит неудачу с ошибкой соединения 111.

Я добавил необходимые скрипты из https://github.com/celery/celery/tree/3.0/extra/generic-init.d в каталог /etc/init.d

Что касается скриптов в/и т.д./по умолчанию, то они выглядят так:

Мой celeryd сценарий как следует

# Names of nodes to start 
# most will only start one node: 

CELERYD_NODES="worker1" 

# but you can also start multiple and configure settings 
# for each in CELERYD_OPTS (see `celery multi --help` for examples). 
#CELERYD_NODES="worker1 worker2 worker3" 
# Absolute or relative path to the 'celery' command: 
#CELERY_BIN="/usr/local/bin/celery" 

CELERY_BIN="/home/ubuntu/sites/virtualenv/bin/celery" 

# App instance to use 
# comment out this line if you don't use an app 

CELERY_APP="Gorgon" 

# or fully qualified: 
#CELERY_APP="proj.tasks:app" 
# Where to chdir at start. 

CELERYD_CHDIR="/home/ubuntu/sites/source" 

# Extra command-line arguments to the worker 

CELERYD_OPTS="--time-limit=300 --concurrency=8" 

# %N will be replaced with the first part of the nodename. 

CELERYD_LOG_FILE="/var/log/celery/%N.log" 
CELERYD_PID_FILE="/var/run/celery/%N.pid" 

# Workers should run as an unprivileged user. 
# You need to create this user manually (or you can choose 
# a user/group combination that already exists, e.g. nobody). 
#CELERYD_USER="celery" 
#CELERYD_GROUP="celery" 
# If enabled pid and log directories will be created if missing, 
# and owned by the userid/group configured. 

CELERY_CREATE_DIRS=1 

Мой celerybeat сценарий

# Absolute or relative path to the 'celery' command: 

CELERY_BIN="/home/ubuntu/sites/virtualenv/bin/celery" 

#CELERY_BIN="/virtualenvs/def/bin/celery" 
# App instance to use 
# comment out this line if you don't use an app 

CELERY_APP="Gorgon" 

# or fully qualified: 
#CELERY_APP="proj.tasks:app" 
# Where to chdir at start. 

CELERYBEAT_CHDIR="/home/ubuntu/sites/source" 

# Extra arguments to celerybeat 
#CELERYBEAT_OPTS="--schedule=/var/run/celery/celerybeat-schedule" 

Как настроить мой сельдерей, работающий как демон, используя мой текущий виртуальный env в/home/ubuntu/sites/virtualenv

+0

Почему вы не используете 'supervisor'? – itzMEonTV

+0

'CELERYBEAT_CHDIR =/путь/в/проект /'? – itzMEonTV

+0

«/ home/ubuntu/sites/source» - это каталог, в котором находится проект. то есть manage.py находится внутри исходной папки. –

ответ

Смежные вопросы