pi_portal.modules.tasks.queue.bases.router_base.TaskRouterBase
- class pi_portal.modules.tasks.queue.bases.router_base.TaskRouterBase(*args: Any, **kwargs: Dict[str, Any])[source]
Bases:
objectThe task router for Pi Portal.
- Return type:
- abstract __init__(log: Logger) None[source]
Instantiate a queue implementation for each routing label.
- Parameters:
log (Logger) – A logger instance to pass to each queue.
- ack(task: TypeGenericTask) None[source]
Ack a task from the corresponding queue.
- Parameters:
task (TypeGenericTask) – The task to ack.
- get(routing_label: RoutingLabel) TypeGenericTask[source]
Return the typed task object from the selected queue.
- Parameters:
routing_label (RoutingLabel) – The queue to select.
- Returns:
The dequeued task.
- Return type:
TypeGenericTask
- maintenance(routing_label: RoutingLabel) None[source]
Perform queue maintenance tasks on the selected queue.
- Parameters:
routing_label (RoutingLabel) – The queue to select.
- metrics(routing_label: RoutingLabel) QueueMetrics[source]
Extract metrics from the selected queue.
- Parameters:
routing_label (RoutingLabel) – The queue to select.
- Returns:
A collection of metrics for the selected task queue.
- Return type: