На прошлой неделе я настроил RabbitMQ и Celery в своей производственной системе после того, как проверил их на своем локальном устройстве разработки, и все работало нормально.
У меня такое ощущение, что мои задачи не выполняются на производстве, поскольку у меня есть около 1200 задач, которые все еще находятся в очереди.
Я запускаю установку CentOS 5.4 с демонами celeryd
и celerybeat
и WSGI
Я сделал импорт в модуль wsgi.
Когда я бегу, /etc/init.d/celeryd start
я получаю следующий ответ
[root@myvm myproject]# /etc/init.d/celeryd start
celeryd-multi v2.3.1
> Starting nodes...
> w1.myvm.centos01: OK
Когда я запускаю /etc/init.d/celerybeat start
, я получаю следующий ответ
[root@myvm fundedmyprojectbyme]# /etc/init.d/celerybeat start
Starting celerybeat...
Таким образом, по выводу кажется, что элементы выполняются успешно - хотя при просмотре очередей они только получают больше, чем выполняются.
Теперь, если я выполню то же самое выполнение, но вместо этого использую менеджмент django ./manage.py celeryd
и ./manage.py celerybeat
, задачи сразу начнут обрабатываться.
Мой /etc/default/celeryd
# Where to chdir at start.
CELERYD_CHDIR="/www/myproject/"
# How to call "manage.py celeryd_multi"
CELERYD_MULTI="$CELERYD_CHDIR/manage.py celeryd_multi"
# Extra arguments to celeryd
CELERYD_OPTS="--time-limit=300 --concurrency=8"
# Name of the celery config module.
CELERY_CONFIG_MODULE="celeryconfig"
# %n will be replaced with 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.
CELERYD_USER="celery"
CELERYD_GROUP="celery"
# Name of the projects settings module.
export DJANGO_SETTINGS_MODULE="settings"
мой /etc/default/celerybeat
# Where the Django project is.
CELERYD_CHDIR="/www/myproject/"
# Name of the projects settings module.
export DJANGO_SETTINGS_MODULE="settings"
# Path to celeryd
CELERYD="/www/myproject/manage.py celeryd"
# Path to celerybeat
CELERYBEAT="/www/myproject/manage.py celerybeat"
# Extra arguments to celerybeat
CELERYBEAT_OPTS="--schedule=/var/run/celerybeat-schedule"
мои файлы /etc/init.d для / celeryd и / celerybeat основаны на общих сценариях
Мне не хватает части конфигурации ???