I use Quartz for job scheduling which spawns a task that consists of many sub tasks. When the job is created, I also create an entity representing this for auditing purposes. The entity holds the QuartzTriggerHandle. As I loop through the subtasks, I continually update the entity to save the state of what task is completed.
I store this information in an entity so that I can perform some analysis / auditing later plus I have more durable persistence than typical Quartz Jobs. After the jobs complete, the job in the quartz tables is subsequently removed so the history is gone.
Is this a good model for what I'm trying to accomplish? I basically want my own custom entities for auditing and performing analysis.
If I didn't need auditing or analysis, I could just create quartz jobs for each sub task as long as the tasks didn't need to be sequential.