Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

On Ubuntu 11.10,

I have to issue python tasks from django using celery.

I'm currently testing on the same machine but eventually the celery worker should run on a remote machine.

django uses the following settings:

BROKER_HOST = "127.0.0.1"
BROKER_PORT = 5672
BROKER_VHOST = "/my_vhost"
BROKER_USER = "celery"
BROKER_PASSWORD = "celery"

I can also see my task queued in http://localhost:55672/#/queues

the celery daemon uses the following configuration (celeryconfig.py):

BROKER_HOST = "127.0.0.1"
BROKER_PORT = 5672
BROKER_USER = "celery"
BROKER_PASSWORD = "celery"
BROKER_VHOST = "/my_vhost"
CELERY_RESULT_BACKEND = "amqp"
import os
import sys
sys.path.append(os.getcwd())
CELERY_IMPORTS = ("tasks", )

running

celeryd -l info

works well and now I want to run it as a service.

I've followed the instructions from http://ask.github.com/celery/cookbook/daemonizing.html

and now I'm trying to run it using:

sudo /etc/init.d/celeryd start

But the message is not being consumed, no error in the celery log either.

/etc/default/celeryd

CELERYD_NODES="w1"
CELERYD_CHDIR="/path/to/django/project"
CELERYD_OPTS="--time-limit=300 --concurrency=1"
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"

I've also created user celery in Ubuntu not sure if its necessary.

Any help will be appreciated, Thanks, Guy

share|improve this question
add comment

2 Answers

We're using supervisor to run Celery on Ubuntu, and it works pretty well, including periodic status checking and restarting of dead processes.

share|improve this answer
add comment

changed celeryconfig.py permissions (owner):

sudo chown root:staff celeryconfig.py

and it works... was easy to track after I realized:

sudo /etc/init.d/celeryd status

is giving an informative error explanations.

Guy

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.