In the next version of MrCMS (v0.4.4 as of writing) there will be support for batched jobs, as well as the existing queued tasks and scheduled tasks. This allow for a list of jobs to be run and paused in admin on an ad-hoc basis.

There are 4 component entities:
  • Batch
  • BatchJob
  • BatchRun
  • BatchRunResult
The Batch is the parent of all of these, and is essentially the container for all jobs and runs of jobs

BatchJob is an abstract base class for a job, which is to be extended from to define additional functionality, The execution of this is handled externally to the entity via BaseBatchJobExecutor<T>

The BatchRun defines an attempt to run all incomplete tasks. An run can be generated by ICreateBatchRun

BatchRunResults are the attempts to run a BatchJob and are associated to a run. They track the progress of the BatchRun and have their statuses updated.

The batch run is then executed somewhat in the background, by the application calling back into itself in order to request execution of the next subsequent job until no more remain, at which point the run is completed.

Last edited Nov 14, 2014 at 2:00 PM by gmstr, version 2


No comments yet.