0
    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!

Edge
  • 5
  • 3

0 Answers0