pi_portal.modules.tasks.queue.persist_queue.Queue

class pi_portal.modules.tasks.queue.persist_queue.Queue(log: Logger, routing_label: RoutingLabel)[source]

Bases: QueueBase

The persist-queue library’s implementation of a queue.

Parameters:

log (Logger) – A logger instance.

__init__(log: Logger, routing_label: RoutingLabel) None[source]
Parameters:
  • log (Logger) – A logger instance.

  • routing_label (RoutingLabel) – The routing label of this queue.

ack(task: TypeGenericTask) None

Ack a task from the queue.

Parameters:

task (TypeGenericTask) – the task to ack.

get() TypeGenericTask

Return the typed task object.

Returns:

The dequeued task object.

Return type:

TypeGenericTask

maintenance() None

Perform queue maintenance tasks.

metrics() QueueMetrics

Extract queue metrics.

Returns:

A collection of metrics for the task queue.

Return type:

QueueMetrics

put(task: TypeGenericTask) None

Enqueue a task.

Parameters:

task (TypeGenericTask) – the task to schedule.

raw() SQLiteAckQueue[source]

Access the underlying queue directly.

Return type:

SQLiteAckQueue

retry(task: TypeGenericTask) None

Retry a failed task.

Parameters:

task (TypeGenericTask) – the task to retry.