IJobSchedulerprovides a gateway to working with the jobs scheduler and offers a way to enqueue a job for immediate execution in background (as soon the machine has the capacity to do so, e.g. when it is limited to process only limited amount of jobs in parallel) or to schedule a job for execution at a specific date and time (again started automatically in background). It is also possible to delete a previously enqueued/schedule job (if it has not already been processed).
IJobinterface (which itself is empty). For every job type needs to be a job han-dler registered in the dependency container. The job handler interface looks like this:
ExecuteCommandJobwhich simply executes any com-mand specified. Moreover, there are
ScheduleJobCommandcommands that on the other hand allow enqueuing and scheduling of jobs simply using a command. This is especially useful when used in conjunction with saga that can only produce commands to perform any side-effects.