pub trait TaskScheduler:
Send
+ Sync
+ Debug {
// Required methods
fn schedule_task(&mut self, task: ExecutionTask) -> SklResult<String>;
fn schedule_batch(
&mut self,
tasks: Vec<ExecutionTask>,
) -> SklResult<Vec<String>>;
fn next_task(&mut self) -> Option<ExecutionTask>;
fn cancel_task(&mut self, task_id: &str) -> SklResult<()>;
fn queue_status(&self) -> QueueStatus;
fn start(&mut self) -> SklResult<()>;
fn pause(&mut self) -> SklResult<()>;
fn resume(&mut self) -> SklResult<()>;
fn shutdown(&mut self) -> SklResult<()>;
fn health_check(&self) -> Health;
}Expand description
Core task scheduler trait
Required Methods§
Sourcefn schedule_task(&mut self, task: ExecutionTask) -> SklResult<String>
fn schedule_task(&mut self, task: ExecutionTask) -> SklResult<String>
Schedule a task for execution
Sourcefn schedule_batch(
&mut self,
tasks: Vec<ExecutionTask>,
) -> SklResult<Vec<String>>
fn schedule_batch( &mut self, tasks: Vec<ExecutionTask>, ) -> SklResult<Vec<String>>
Schedule multiple tasks
Sourcefn next_task(&mut self) -> Option<ExecutionTask>
fn next_task(&mut self) -> Option<ExecutionTask>
Get next task to execute
Sourcefn cancel_task(&mut self, task_id: &str) -> SklResult<()>
fn cancel_task(&mut self, task_id: &str) -> SklResult<()>
Cancel a scheduled task
Sourcefn queue_status(&self) -> QueueStatus
fn queue_status(&self) -> QueueStatus
Get queue status
Sourcefn health_check(&self) -> Health
fn health_check(&self) -> Health
Get scheduler health