1
votes

i"m having this issue with periodic tasks not running. I"m using redis as a backend and can run the tasks manually, this is the celery debug log


    [ModelEntry: myproject.myapp.tasks.MyPeriodicTask myproject.myapp.tasks.MyPeriodicTask(*[], **{}) { freq: 10.00 seconds }]
    [2012-08-01 13:45:53,764: DEBUG/MainProcess] Consumer: Ready to accept tasks!
    [2012-08-01 13:45:53,801: DEBUG/Beat] Celerybeat: Ticking with max interval->5.00 seconds
    [2012-08-01 13:45:53,808: DEBUG/Beat] Celerybeat: Waking up in 5.00 seconds.
    [2012-08-01 13:45:58,814: DEBUG/Beat] Celerybeat: Waking up in 5.00 seconds.
    [2012-08-01 13:46:03,828: DEBUG/Beat] Celerybeat: Waking up in 5.00 seconds.

When i run the task manually, everything works. Timezone is the same in django and celery

1
What does your Django log say? Does it show Celerybeat triggering something that breaks? - Steve Jalim
Are you running a celery worker (celeryd) along with celerybeat? - Mark Lavin
How do you launch your celeryd ? Try python manage.py celeryd -l INFO -E -B -c 2 --discard - Alexander A.Sosnovskiy
I have the same problem. I thought that it is in Celery but the problem is probably in django-celery. - Bruce
Check to make sure you have a celeryd worker that is configured to consume the tasks created through celerybeat. Also, you might check to make sure that Celerybeat is configured to work in the proper directory. You might be inadvertently running celerybeat in a different folder, and it is not working because it is not finding your tasks. - Peter Kirby

1 Answers

-1
votes

As reported in Celery issue #4184, you can solve this problem by changing CELERY_TIMEZONE to UTC. I experienced a similar problem, but with the database scheduler, and this resolved it for me.