pi_portal.modules.tasks.queue.persist_queue_router.TaskRouter
- class pi_portal.modules.tasks.queue.persist_queue_router.TaskRouter(*args: Any, **kwargs: Dict[str, Any])[source]
Bases:
TaskRouterBaseA persist-queue back task router.
- Parameters:
log – A logger instance.
- Return type:
- __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
Ack a task from the corresponding queue.
- Parameters:
task (TypeGenericTask) – The task to ack.
- get(routing_label: RoutingLabel) TypeGenericTask
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
Perform queue maintenance tasks on the selected queue.
- Parameters:
routing_label (RoutingLabel) – The queue to select.
- metrics(routing_label: RoutingLabel) QueueMetrics
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:
- put(task: TypeGenericTask) None
Enqueue a task to the corresponding queue.
- Parameters:
task (TypeGenericTask) – the task to schedule.
- retry(task: TypeGenericTask) None
Retry a failed task on the corresponding queue.
- Parameters:
task (TypeGenericTask) – the task to schedule.