View Source Supervision Tree
YourApp.Scheduler
(Quantum
) - Your primary Interface to interact with. (Likeadd_job/1
etc.)YourApp.Scheduler.Supervisor
(Quantum.Supervisor
) - The Supervisor that coordinates configuration, the runner and task supervisor.YourApp.Scheduler.TaskRegistry
(Quantum.TaskRegistry
) - TheGenServer
that keeps track of running tasks and prevents overlap.YourApp.Scheduler.JobBroadcaster
(Quantum.JobBroadcaster
) - TheGenStage
that keeps track of all jobs.YourApp.Scheduler.ExecutionBroadcaster
(Quantum.ExecutionBroadcaster
) - TheGenStage
that notifies execution of jobs.YourApp.Scheduler.ExecutorSupervisor
(Quantum.ExecutorSupervisor
) - TheConsumerSupervisor
that spawns an Executor for every execution.no_name
(YourApp.Scheduler.Executor
) - TheTask
that calls theYourApp.Scheduler.TaskSupervisor
with the execution of the Cron (per Node).
YourApp.Scheduler.TaskSupervisor
(Task.Supervisor
) - TheTask.Supervisor
where all Cron jobs run in.Task
- The place where the defined Cron job action gets called.
Error Handling
The OTP Supervision Tree is initiated by the user of the library. Therefore the error handling can be implemented via normal OTP means. See Supervisor
module for more information.