gochat_background_jobs: query: | SELECT queue, status, COUNT(*)::double precision AS total, COALESCE(MAX(EXTRACT(EPOCH FROM (CURRENT_TIMESTAMP - CASE WHEN status = 'running' THEN COALESCE(locked_at, updated_at) ELSE scheduled_at END))), 0)::double precision AS oldest_seconds FROM background_jobs WHERE status IN ('queued', 'retrying', 'running') GROUP BY queue, status metrics: - queue: usage: LABEL description: Background job queue. - status: usage: LABEL description: Background job state. - total: usage: GAUGE description: Current background jobs by queue and state. - oldest_seconds: usage: GAUGE description: Age of the oldest background job by queue and state.