celery - Celeryd can't seem to find my Django project’s settings -


i'm celery noob @ moment, trying started. i'm running django 1.4 + django-celery + celery 3.0.21 redis storage backend. can worker , celerybeat run 'manually' via:

python manage.py celery worker -e -b --loglevel=info -n w1.manual

i want move init-scripts. so, i've installed 2 init scripts supplied celery. can run them desired , the scripts work fine. however, worker started script failing. doesn't appear finding project's settings. here's contents of configuration file @ /etc/default/celeryd:

# name of nodes start # here have single node celeryd_nodes="w1"  # or have 3 nodes: #celeryd_nodes="w1 w2 w3"  # chdir @ start. celeryd_chdir="/var/www/www_project_com/"  # arguments celeryd celeryd_opts="--time-limit=300 --concurrency=8"  # name of celery config module. celery_config_module="celeryconfig"  # %n replaced nodename. celeryd_log_file="/var/log/celery/%n.log" celeryd_pid_file="/var/run/celery/%n.pid"  # workers should run unprivileged user. celeryd_user="www-data" celeryd_group="www-data"  # name of projects settings module export django_settings_module="settings" 

my settings files divided local/production/etc. , production settings located here:

/var/www/www_project_com/project/settings/production.py 

i've attempted change last line of config file be:

export django_settings_module="project.settings.production" 

but seemed make no difference.

i know init scripts picking settings file /etc/default/celery because process is using custom-defined user , group.

it clear processes failing because logs show:

consumer: cannot connect amqp://guest@127.0.0.1:5672//: [errno 111] connection refused. 

which presume default setting. django project configured use redis using connection string:

broker_url = 'redis://localhost:6379/0' 

as attempt sort out, i've tried setting last line to:

export django_settings_module="settings.production" 

this results in:

[2013-07-19 05:31:48,117: error/mainprocess] unrecoverable error: importerror('no module named settings',) 

in logs.

what doing wrong?

if want use django_settings_module config make sure config celery_config_module not set.


Comments