Custom durable queue Worker picks up pending jobs and runs handlers idempotently. Retry policy: max_attempts default 3 with exponential backoff via run_after.
Cross-tenant process telemetry from worker_runs + worker_heartbeats (13 watchdogs registered — see docs/metrics.md). Last 50 runs under all tenants.
| Started | Watchdog | Duration | Actioned | Status | Error | Action |
|---|---|---|---|---|---|---|
| 09 June 2026, 02:56 am | ocr_dispatcher | 4 ms | 0 | Success | — | |
Show run details{
"failed": 0,
"no_work": 1,
"completed": 0,
"not_configured": 0
} | ||||||
| 09 June 2026, 02:55 am | ocr_dispatcher | 4 ms | 0 | Success | — | |
Show run details{
"failed": 0,
"no_work": 1,
"completed": 0,
"not_configured": 0
} | ||||||
| 09 June 2026, 02:53 am | ocr_dispatcher | 4 ms | 0 | Success | — | |
Show run details{
"failed": 0,
"no_work": 1,
"completed": 0,
"not_configured": 0
} | ||||||
| 09 June 2026, 02:52 am | ocr_dispatcher | 3 ms | 0 | Success | — | |
Show run details{
"failed": 0,
"no_work": 1,
"completed": 0,
"not_configured": 0
} | ||||||
| 09 June 2026, 02:51 am | ocr_dispatcher | 3 ms | 0 | Success | — | |
Show run details{
"failed": 0,
"no_work": 1,
"completed": 0,
"not_configured": 0
} | ||||||
| 09 June 2026, 02:50 am | ocr_dispatcher | 5 ms | 0 | Success | — | |
Show run details{
"failed": 0,
"no_work": 1,
"completed": 0,
"not_configured": 0
} | ||||||
| 09 June 2026, 02:49 am | ocr_dispatcher | 4 ms | 0 | Success | — | |
Show run details{
"failed": 0,
"no_work": 1,
"completed": 0,
"not_configured": 0
} | ||||||
| 09 June 2026, 02:48 am | ocr_dispatcher | 5 ms | 0 | Success | — | |
Show run details{
"failed": 0,
"no_work": 1,
"completed": 0,
"not_configured": 0
} | ||||||
| 09 June 2026, 02:47 am | ocr_dispatcher | 4 ms | 0 | Success | — | |
Show run details{
"failed": 0,
"no_work": 1,
"completed": 0,
"not_configured": 0
} | ||||||
| 09 June 2026, 02:46 am | ocr_dispatcher | 4 ms | 0 | Success | — | |
Show run details{
"failed": 0,
"no_work": 1,
"completed": 0,
"not_configured": 0
} | ||||||
| 09 June 2026, 02:45 am | ocr_dispatcher | 4 ms | 0 | Success | — | |
Show run details{
"failed": 0,
"no_work": 1,
"completed": 0,
"not_configured": 0
} | ||||||
| 09 June 2026, 02:44 am | ocr_dispatcher | 4 ms | 0 | Success | — | |
Show run details{
"failed": 0,
"no_work": 1,
"completed": 0,
"not_configured": 0
} | ||||||
| 09 June 2026, 02:43 am | ocr_dispatcher | 4 ms | 0 | Success | — | |
Show run details{
"failed": 0,
"no_work": 1,
"completed": 0,
"not_configured": 0
} | ||||||
| 09 June 2026, 02:42 am | ocr_dispatcher | 4 ms | 0 | Success | — | |
Show run details{
"failed": 0,
"no_work": 1,
"completed": 0,
"not_configured": 0
} | ||||||
| 09 June 2026, 02:41 am | ocr_dispatcher | 4 ms | 0 | Success | — | |
Show run details{
"failed": 0,
"no_work": 1,
"completed": 0,
"not_configured": 0
} | ||||||
| 09 June 2026, 02:40 am | ocr_dispatcher | 3 ms | 0 | Success | — | |
Show run details{
"failed": 0,
"no_work": 1,
"completed": 0,
"not_configured": 0
} | ||||||
| 09 June 2026, 02:39 am | ocr_dispatcher | 3 ms | 0 | Success | — | |
Show run details{
"failed": 0,
"no_work": 1,
"completed": 0,
"not_configured": 0
} | ||||||
| 09 June 2026, 02:38 am | ocr_dispatcher | 4 ms | 0 | Success | — | |
Show run details{
"failed": 0,
"no_work": 1,
"completed": 0,
"not_configured": 0
} | ||||||
| 09 June 2026, 02:37 am | ocr_dispatcher | 3 ms | 0 | Success | — | |
Show run details{
"failed": 0,
"no_work": 1,
"completed": 0,
"not_configured": 0
} | ||||||
| 09 June 2026, 02:36 am | ocr_dispatcher | 3 ms | 0 | Success | — | |
Show run details{
"failed": 0,
"no_work": 1,
"completed": 0,
"not_configured": 0
} | ||||||
| 09 June 2026, 02:35 am | ocr_dispatcher | 4 ms | 0 | Success | — | |
Show run details{
"failed": 0,
"no_work": 1,
"completed": 0,
"not_configured": 0
} | ||||||
| 09 June 2026, 02:34 am | ocr_dispatcher | 3 ms | 0 | Success | — | |
Show run details{
"failed": 0,
"no_work": 1,
"completed": 0,
"not_configured": 0
} | ||||||
| 09 June 2026, 02:33 am | ocr_dispatcher | 4 ms | 0 | Success | — | |
Show run details{
"failed": 0,
"no_work": 1,
"completed": 0,
"not_configured": 0
} | ||||||
| 09 June 2026, 02:32 am | ocr_dispatcher | 4 ms | 0 | Success | — | |
Show run details{
"failed": 0,
"no_work": 1,
"completed": 0,
"not_configured": 0
} | ||||||
| 09 June 2026, 02:31 am | ocr_dispatcher | 3 ms | 0 | Success | — | |
Show run details{
"failed": 0,
"no_work": 1,
"completed": 0,
"not_configured": 0
} | ||||||
| 09 June 2026, 02:30 am | ocr_dispatcher | 3 ms | 0 | Success | — | |
Show run details{
"failed": 0,
"no_work": 1,
"completed": 0,
"not_configured": 0
} | ||||||
| 09 June 2026, 02:29 am | ocr_dispatcher | 4 ms | 0 | Success | — | |
Show run details{
"failed": 0,
"no_work": 1,
"completed": 0,
"not_configured": 0
} | ||||||
| 09 June 2026, 02:28 am | ocr_dispatcher | 3 ms | 0 | Success | — | |
Show run details{
"failed": 0,
"no_work": 1,
"completed": 0,
"not_configured": 0
} | ||||||
| 09 June 2026, 02:27 am | ocr_dispatcher | 4 ms | 0 | Success | — | |
Show run details{
"failed": 0,
"no_work": 1,
"completed": 0,
"not_configured": 0
} | ||||||
| 09 June 2026, 02:26 am | ocr_dispatcher | 4 ms | 0 | Success | — | |
Show run details{
"failed": 0,
"no_work": 1,
"completed": 0,
"not_configured": 0
} | ||||||
| 09 June 2026, 02:25 am | ocr_dispatcher | 5 ms | 0 | Success | — | |
Show run details{
"failed": 0,
"no_work": 1,
"completed": 0,
"not_configured": 0
} | ||||||
| 09 June 2026, 02:24 am | ocr_dispatcher | 4 ms | 0 | Success | — | |
Show run details{
"failed": 0,
"no_work": 1,
"completed": 0,
"not_configured": 0
} | ||||||
| 09 June 2026, 02:23 am | ocr_dispatcher | 3 ms | 0 | Success | — | |
Show run details{
"failed": 0,
"no_work": 1,
"completed": 0,
"not_configured": 0
} | ||||||
| 09 June 2026, 02:22 am | ocr_dispatcher | 3 ms | 0 | Success | — | |
Show run details{
"failed": 0,
"no_work": 1,
"completed": 0,
"not_configured": 0
} | ||||||
| 09 June 2026, 02:21 am | ocr_dispatcher | 4 ms | 0 | Success | — | |
Show run details{
"failed": 0,
"no_work": 1,
"completed": 0,
"not_configured": 0
} | ||||||
| 09 June 2026, 02:20 am | ocr_dispatcher | 4 ms | 0 | Success | — | |
Show run details{
"failed": 0,
"no_work": 1,
"completed": 0,
"not_configured": 0
} | ||||||
| 09 June 2026, 02:19 am | ocr_dispatcher | 5 ms | 0 | Success | — | |
Show run details{
"failed": 0,
"no_work": 1,
"completed": 0,
"not_configured": 0
} | ||||||
| 09 June 2026, 02:18 am | ocr_dispatcher | 5 ms | 0 | Success | — | |
Show run details{
"failed": 0,
"no_work": 1,
"completed": 0,
"not_configured": 0
} | ||||||
| 09 June 2026, 02:17 am | ocr_dispatcher | 4 ms | 0 | Success | — | |
Show run details{
"failed": 0,
"no_work": 1,
"completed": 0,
"not_configured": 0
} | ||||||
| 09 June 2026, 02:16 am | ocr_dispatcher | 4 ms | 0 | Success | — | |
Show run details{
"failed": 0,
"no_work": 1,
"completed": 0,
"not_configured": 0
} | ||||||
| 09 June 2026, 02:15 am | ocr_dispatcher | 3 ms | 0 | Success | — | |
Show run details{
"failed": 0,
"no_work": 1,
"completed": 0,
"not_configured": 0
} | ||||||
| 09 June 2026, 02:14 am | ocr_dispatcher | 3 ms | 0 | Success | — | |
Show run details{
"failed": 0,
"no_work": 1,
"completed": 0,
"not_configured": 0
} | ||||||
| 09 June 2026, 02:13 am | ocr_dispatcher | 4 ms | 0 | Success | — | |
Show run details{
"failed": 0,
"no_work": 1,
"completed": 0,
"not_configured": 0
} | ||||||
| 09 June 2026, 02:12 am | ocr_dispatcher | 4 ms | 0 | Success | — | |
Show run details{
"failed": 0,
"no_work": 1,
"completed": 0,
"not_configured": 0
} | ||||||
| 09 June 2026, 02:11 am | ocr_dispatcher | 4 ms | 0 | Success | — | |
Show run details{
"failed": 0,
"no_work": 1,
"completed": 0,
"not_configured": 0
} | ||||||
| 09 June 2026, 02:10 am | ocr_dispatcher | 4 ms | 0 | Success | — | |
Show run details{
"failed": 0,
"no_work": 1,
"completed": 0,
"not_configured": 0
} | ||||||
| 09 June 2026, 02:09 am | ocr_dispatcher | 5 ms | 0 | Success | — | |
Show run details{
"failed": 0,
"no_work": 1,
"completed": 0,
"not_configured": 0
} | ||||||
| 09 June 2026, 02:08 am | ocr_dispatcher | 3 ms | 0 | Success | — | |
Show run details{
"failed": 0,
"no_work": 1,
"completed": 0,
"not_configured": 0
} | ||||||
| 09 June 2026, 02:07 am | ocr_dispatcher | 4 ms | 0 | Success | — | |
Show run details{
"failed": 0,
"no_work": 1,
"completed": 0,
"not_configured": 0
} | ||||||
| 09 June 2026, 02:06 am | ocr_dispatcher | 4 ms | 0 | Success | — | |
Show run details{
"failed": 0,
"no_work": 1,
"completed": 0,
"not_configured": 0
} | ||||||
Audit row per standard-report query and per Live Slice invocation (report_runs table — reports engine). Last 50 rows under your tenant.
| Timestamp | Kind | Duration | Rows | Status | Invoked by | Error | Action |
|---|---|---|---|---|---|---|---|
| 09 June 2026, 01:44 am | submittal-bic | 4 ms | 2 | Success | Local Dev User | — | — |
| 09 June 2026, 01:44 am | claim-cycle | 4 ms | 8 | Success | Local Dev User | — | — |
| 09 June 2026, 01:44 am | rfi-aging | 2 ms | 2 | Success | Local Dev User | — | — |
| 09 June 2026, 01:44 am | drawing-revisions | 5 ms | 9 | Success | Local Dev User | — | — |
| 09 June 2026, 01:44 am | cashflow-summary | 3 ms | 48 | Success | Local Dev User | — | — |
| 09 June 2026, 01:44 am | variation-pipeline | 5 ms | 8 | Success | Local Dev User | — | — |
| 09 June 2026, 01:44 am | hseq-severity | 3 ms | 4 | Success | Local Dev User | — | — |
| 09 June 2026, 01:44 am | claim-cycle | 3 ms | 8 | Success | Local Dev User | — | — |
| 09 June 2026, 01:44 am | rfi-aging | 3 ms | 2 | Success | Local Dev User | — | — |
| 09 June 2026, 01:44 am | cashflow-summary | 4 ms | 48 | Success | Local Dev User | — | — |
| 09 June 2026, 01:44 am | drawing-revisions | 4 ms | 9 | Success | Local Dev User | — | — |
| 09 June 2026, 01:44 am | submittal-bic | 38 ms | 2 | Success | Local Dev User | — | — |
| 09 June 2026, 01:44 am | hseq-severity | 17 ms | 4 | Success | Local Dev User | — | — |
| 09 June 2026, 01:44 am | variation-pipeline | 21 ms | 8 | Success | Local Dev User | — | — |
| 09 June 2026, 12:46 am | cashflow-summary | 4 ms | 48 | Success | Local Dev User | — | — |
| 09 June 2026, 12:46 am | drawing-revisions | 4 ms | 9 | Success | Local Dev User | — | — |
| 09 June 2026, 12:46 am | variation-pipeline | 4 ms | 8 | Success | Local Dev User | — | — |
| 09 June 2026, 12:46 am | submittal-bic | 5 ms | 2 | Success | Local Dev User | — | — |
| 09 June 2026, 12:45 am | hseq-severity | 3 ms | 4 | Success | Local Dev User | — | — |
| 09 June 2026, 12:45 am | claim-cycle | 5 ms | 8 | Success | Local Dev User | — | — |
| 09 June 2026, 12:45 am | rfi-aging | 5 ms | 2 | Success | Local Dev User | — | — |
| 08 June 2026, 11:09 pm | hseq-severity | 2 ms | 4 | Success | Local Dev User | — | — |
| 08 June 2026, 11:09 pm | submittal-bic | 2 ms | 2 | Success | Local Dev User | — | — |
| 08 June 2026, 11:09 pm | submittal-bic | 2 ms | 2 | Success | Local Dev User | — | — |
| 08 June 2026, 11:05 pm | hseq-severity | 3 ms | 4 | Success | Local Dev User | — | — |
| 08 June 2026, 10:59 pm | cashflow-summary | 3 ms | 48 | Success | Local Dev User | — | — |
| 08 June 2026, 10:58 pm | cashflow-summary | 3 ms | 48 | Success | Local Dev User | — | — |
| 08 June 2026, 10:58 pm | cashflow-summary | 4 ms | 48 | Success | Local Dev User | — | — |
| 08 June 2026, 10:58 pm | cashflow-summary | 3 ms | 48 | Success | Local Dev User | — | — |
| 08 June 2026, 10:58 pm | cashflow-summary | 3 ms | 48 | Success | Local Dev User | — | — |
| 08 June 2026, 10:58 pm | cashflow-summary | 2 ms | 48 | Success | Local Dev User | — | — |
| 08 June 2026, 10:58 pm | cashflow-summary | 3 ms | 48 | Success | Local Dev User | — | — |
| 08 June 2026, 10:58 pm | cashflow-summary | 3 ms | 48 | Success | Local Dev User | — | — |
| 08 June 2026, 10:57 pm | cashflow-summary | 2 ms | 48 | Success | Local Dev User | — | — |
| 08 June 2026, 10:57 pm | submittal-bic | 2 ms | 2 | Success | Local Dev User | — | — |
| 08 June 2026, 10:57 pm | submittal-bic | 2 ms | 2 | Success | Local Dev User | — | — |
| 08 June 2026, 10:57 pm | cashflow-summary | 2 ms | 48 | Success | Local Dev User | — | — |
| 08 June 2026, 10:57 pm | rfi-aging | 2 ms | 2 | Success | Local Dev User | — | — |
| 08 June 2026, 10:57 pm | claim-cycle | 3 ms | 8 | Success | Local Dev User | — | — |
| 08 June 2026, 10:57 pm | cashflow-summary | 4 ms | 48 | Success | Local Dev User | — | — |
| 08 June 2026, 10:57 pm | rfi-aging | 3 ms | 2 | Success | Local Dev User | — | — |
| 08 June 2026, 10:57 pm | claim-cycle | 3 ms | 8 | Success | Local Dev User | — | — |
| 08 June 2026, 10:56 pm | drawing-revisions | 3 ms | 9 | Success | Local Dev User | — | — |
| 08 June 2026, 10:56 pm | claim-cycle | 3 ms | 8 | Success | Local Dev User | — | — |
| 08 June 2026, 10:56 pm | variation-pipeline | 2 ms | 8 | Success | Local Dev User | — | — |
| 08 June 2026, 10:56 pm | drawing-revisions | 2 ms | 9 | Success | Local Dev User | — | — |
| 08 June 2026, 10:56 pm | submittal-bic | 15 ms | 2 | Success | Local Dev User | — | — |
| 08 June 2026, 10:56 pm | hseq-severity | 3 ms | 4 | Success | Local Dev User | — | — |
| 08 June 2026, 10:56 pm | cashflow-summary | 2 ms | 48 | Success | Local Dev User | — | — |
| 08 June 2026, 10:56 pm | hseq-severity | 4 ms | 4 | Success | Local Dev User | — | — |