TaskScheduler

Trait TaskScheduler 

Source
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§

Source

fn schedule_task(&mut self, task: ExecutionTask) -> SklResult<String>

Schedule a task for execution

Source

fn schedule_batch( &mut self, tasks: Vec<ExecutionTask>, ) -> SklResult<Vec<String>>

Schedule multiple tasks

Source

fn next_task(&mut self) -> Option<ExecutionTask>

Get next task to execute

Source

fn cancel_task(&mut self, task_id: &str) -> SklResult<()>

Cancel a scheduled task

Source

fn queue_status(&self) -> QueueStatus

Get queue status

Source

fn start(&mut self) -> SklResult<()>

Start the scheduler

Source

fn pause(&mut self) -> SklResult<()>

Pause the scheduler

Source

fn resume(&mut self) -> SklResult<()>

Resume the scheduler

Source

fn shutdown(&mut self) -> SklResult<()>

Shutdown the scheduler

Source

fn health_check(&self) -> Health

Get scheduler health

Implementors§