try:
delete_interval = IntervalSchedule.objects.get(every=1,
period='seconds')
except ObjectDoesNotExist:
delete_interval = IntervalSchedule(every=1, period='seconds')
delete_interval.save()
delete_report_task = PeriodicTask(
name="%s_%s" % (datetime.now(), 'delete_report'),
interval=delete_interval,
task='tasks.delete_report',
)
delete_report_task.args = (report.id)
delete_report_task.save()
As you can see from the above, I create and save a PeriodicTask object, and I expect the message "Received delete_report" will be printed out every second by celery beat after this. But nothing shows and the task doesn't get executed, anyone has idea about why?
I did set up the celery beat. And I am using celery 3.1.23 and djcelery 3.1.17
And I can actually find new PeriodicTask objects get created every time and the "evey second" IntervalSchedule object from Shell. Thanks!