mainframe.queue_monitor

Classes

QueueMonitor

Periodically refreshed, process-local view of durable database queue state.

Functions

read_queue_status(→ mainframe.models.schemas.QueueStatus)

Read all queue states with one indexed aggregate query.

update_queue_metrics(→ None)

Publish one database snapshot to Prometheus without querying during scrapes.

Module Contents

mainframe.queue_monitor.read_queue_status(session: sqlalchemy.orm.Session, *, now: datetime.datetime, job_timeout: int, max_job_attempts: int) mainframe.models.schemas.QueueStatus[source]

Read all queue states with one indexed aggregate query.

mainframe.queue_monitor.update_queue_metrics(snapshot: mainframe.models.schemas.QueueStatus) None[source]

Publish one database snapshot to Prometheus without querying during scrapes.

class mainframe.queue_monitor.QueueMonitor(engine: sqlalchemy.Engine, *, job_timeout: int, max_job_attempts: int)[source]

Periodically refreshed, process-local view of durable database queue state.

engine[source]
job_timeout[source]
max_job_attempts[source]
_snapshot: mainframe.models.schemas.QueueStatus | None = None[source]
_lock[source]
refresh(*, now: datetime.datetime | None = None) mainframe.models.schemas.QueueStatus[source]
get_snapshot() mainframe.models.schemas.QueueStatus | None[source]