La settimana scorsa ho installato RabbitMQ e Celery sul mio sistema di produzione dopo averlo testato sul mio dev locale e tutto ha funzionato correttamente.Rabbitmq celeryd celerydeat non esegue attività in produzione come Daemon
Ho la sensazione che i miei compiti non vengano eseguiti in produzione poiché ho circa 1200 attività che sono ancora in coda.
Eseguo un setup CentOS 5.4, con i domini celeryd
e celerybeat
e WSGI Ho effettuato l'importazione sul modulo wsgi.
Quando eseguo, /etc/init.d/celeryd start
ottengo la seguente risposta
[[email protected] myproject]# /etc/init.d/celeryd start
celeryd-multi v2.3.1
> Starting nodes...
> w1.myvm.centos01: OK
Quando eseguo /etc/init.d/celerybeat start
ottengo la seguente risposta
[[email protected] fundedmyprojectbyme]# /etc/init.d/celerybeat start
Starting celerybeat...
Così, l'uscita sembra che gli elementi vengono eseguiti successully - anche se guardando le file sembrano solo ottenere di più che essere giustiziati.
Ora se eseguo la stessa esecuzione, ma uso django's manage.py invece ./manage.py celeryd
e ./manage.py celerybeat
le attività iniziano immediatamente a essere elaborate.
miei /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"
miei /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"
miei file /etc/init.d per/celeryd e/celerybeat si basano sulla generic scripts
mi manca un parte della configurazione ???
Forse può essere utile leggere i log che il tuo script di init dovrebbe creare su/var/log /, se nessun log viene creato qualche volta è perché il software ha problemi a creare il file di log. Quali sono le differenze tra il tuo sistema di produzione e il tuo locale? Sei sicuro che abbiano la stessa versione Python? –