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!