Ranjith Ramachandra
Ranjith Ramachandra

Reputation: 10764

Celery multi not working as expected

I have this my project folder structure

api
    -- __init__.py
    --jobs/
        -- __init__.py
        -- celery.py
        -- celeyconfig.py
        -- tasks.py
    --api_helpers/
    --views/

tasks has a task called ExamineColumns

I launch the worker using celery worker -A api.jobs --loglevel=Info

It works fine and I can run the tasks.

This is the ourput of celery examine command

$ celery inspect registered
-> ranjith-ThinkPad-T420: OK
    * ExamineColumns
    * celery.backend_cleanup
    * celery.chain
    * celery.chord
    * celery.chord_unlock
    * celery.chunks
    * celery.group
    * celery.map
    * celery.starmap

But when I try the multi mode it simply does not work. I am trying to run by running

celery multi start w1 -c3 -A api.jobs  --loglevel=Info

But it does not start at all.

$ celery inspect registered
Error: No nodes replied within time constraint.

I am not sure why it is not working

Upvotes: 1

Views: 4125

Answers (1)

Abbasov Alexander
Abbasov Alexander

Reputation: 1938

You can try to run as:

/usr/bin/celery multi start w1 w2 --uid=www --loglevel=INFO --pidfile=/var/run/%n.pid --logfile=/var/log/%n.log --quiet

--uid must be user/group from your server. Not recommended use root

--quiet will not output data to console

%n.log will replace itself on w1.log and w2.log


For checking you can use ps uax | grep celery Result will be as so:

www ... /usr/local/bin/python2.7 -m celery.bin.celeryd -n w1.domain.ru --loglevel=DEBUG --logfile=/var/log/w1.log --pidfile=/var/run/w1.pid
www ... /usr/local/bin/python2.7 -m celery.bin.celeryd -n w2.domain.ru --loglevel=DEBUG --logfile=/var/log/w2.log --pidfile=/var/run/w2.pid

Upvotes: 3

Related Questions