Task order complements priority with a relative prioritization based on task status.
/// How to apply ordering algorithm across priorities
enum OrderType {
/// --group-order (default): Priority takes precedence; order breaks ties
Group,
/// --global-order: Order algorithm takes precedence; priority breaks ties
Global,
}
/// Order to take tasks
enum Order {
/// --round-robin-running (default):
/// Select a task with the fewest outstanding jobs
/// (taken AND (NOT finished) AND (NOT superceded))
RoundRobinRunning,
/// --round-robin-taken: Select a task with the fewest taken jobs
RoundRobinTaken,
/// --sequential-tasks: Exhaust one task before moving on to the next
Sequential,
}
Although Order::RoundRobinRunning will eventually be the default, I have only implemented Order::Sequential at this point.
Task order complements priority with a relative prioritization based on task status.
Although
Order::RoundRobinRunning
will eventually be the default, I have only implementedOrder::Sequential
at this point.