0

I'm looking into Celerybeat for launching tasks that are scheduled at various times based upon a database:

e.g.

Task A fires at 12:00pm
Task B fires at 12:05pm

There could be many many tasks that fire at the same time.

I was thinking I would have Celerybeat fire off every minute to collect all the tasks for a particular minute and fire them off.

But I also want to be able to make sure I don't miss any tasks if Celerybeat goes down, and I don't want to repeat any tasks.

Because of the state machine I'm seeing this requiring for each task instance, I'm feeling like there's a much easier way to do this.

Or, is the best practice really to create a log for each task instance being fired and put it in multiple states: "not processed", "processing", "done", "error..." etc?

Thanks!

4

0 回答 0