문제

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.

도움이 되었습니까?

해결책

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

다른 팁

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.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top