Question

I am trying to get Celery work for awhile now. All my crontabs works just fine when I test it synchronously

sudo celery -A testdjango worker --loglevel=DEBUG --beat

but when I do

celery multi start -A testdjango w1 -l info

none of my crontabs work. I am not sure why

Note: I tried other schedule intervals as well like with time delta The same thing happens with that as well.

So I am fairly certain this is not a crontab thing but somehow related to the way I am starting celery multi.

Also, the worker turns on just fine since I can see it in Celery Flower but no tasks get executed.

Était-ce utile?

La solution

So, the answer is pretty straightforward

Since periodic tasks need Beat just add --beat with the command.

something like this

celery multi start -A testdjango w1 --beat -l info

Autres conseils

Alternatively instead of running Beat inside your worker process (which the docs for 3.1.18 say is not recommended) you can run it dedicated in the background with

celery beat -A testdjango --pidfile=/blah/beat.pid --detach

Be sure to save the pidfile somewhere so you can also kill the process later.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top