Trait scheduled_executor::task_group::TaskGroup
[−]
[src]
pub trait TaskGroup: Send + Sync + Sized + 'static { type TaskId: Send; fn get_tasks(&self) -> Vec<Self::TaskId>; fn execute(&self, _: Self::TaskId); }
Defines a group of tasks. Task groups allow you to schedule the execution of different tasks
uniformly in a specific interval. The task discovery will be performed by get_tasks
that will
return a list of task ids. The returned task ids will be used by the execute
function to
run the specified task. get_tasks
will be executed one per interval, while execute
will
be executed every interval
/ number of tasks.
See also: example in the module documentation.
Associated Types
Required Methods
fn get_tasks(&self) -> Vec<Self::TaskId>
Runs at the beginning of each cycle and generates the list of task ids.
fn execute(&self, _: Self::TaskId)
Runs once per task id per cycle.