mainframe.queue_monitor¶
Classes¶
Periodically refreshed, process-local view of durable database queue state. |
Functions¶
|
Read all queue states with one indexed aggregate query. |
|
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.
- _snapshot: mainframe.models.schemas.QueueStatus | None = None[source]¶
- refresh(*, now: datetime.datetime | None = None) mainframe.models.schemas.QueueStatus[source]¶
- get_snapshot() mainframe.models.schemas.QueueStatus | None[source]¶