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:58 am | cashflow_recalc | 6 ms | 0 | Success | — | |
Show run details{
"message": "queue empty"
} | ||||||
| 09 June 2026, 02:58 am | cashflow_recalc | 3 ms | 0 | Success | — | |
Show run details{
"message": "queue empty"
} | ||||||
| 09 June 2026, 02:58 am | cashflow_recalc | 3 ms | 0 | Success | — | |
Show run details{
"message": "queue empty"
} | ||||||
| 09 June 2026, 02:58 am | cashflow_recalc | 4 ms | 0 | Success | — | |
Show run details{
"message": "queue empty"
} | ||||||
| 09 June 2026, 02:58 am | cashflow_recalc | 3 ms | 0 | Success | — | |
Show run details{
"message": "queue empty"
} | ||||||
| 09 June 2026, 02:58 am | cashflow_recalc | 4 ms | 0 | Success | — | |
Show run details{
"message": "queue empty"
} | ||||||
| 09 June 2026, 02:58 am | cashflow_recalc | 4 ms | 0 | Success | — | |
Show run details{
"message": "queue empty"
} | ||||||
| 09 June 2026, 02:58 am | cashflow_recalc | 3 ms | 0 | Success | — | |
Show run details{
"message": "queue empty"
} | ||||||
| 09 June 2026, 02:58 am | cashflow_recalc | 3 ms | 0 | Success | — | |
Show run details{
"message": "queue empty"
} | ||||||
| 09 June 2026, 02:58 am | cashflow_recalc | 4 ms | 0 | Success | — | |
Show run details{
"message": "queue empty"
} | ||||||
| 09 June 2026, 02:58 am | cashflow_recalc | 4 ms | 0 | Success | — | |
Show run details{
"message": "queue empty"
} | ||||||
| 09 June 2026, 02:58 am | cashflow_recalc | 4 ms | 0 | Success | — | |
Show run details{
"message": "queue empty"
} | ||||||
| 09 June 2026, 02:58 am | cashflow_recalc | 4 ms | 0 | Success | — | |
Show run details{
"message": "queue empty"
} | ||||||
| 09 June 2026, 02:58 am | cashflow_recalc | 4 ms | 0 | Success | — | |
Show run details{
"message": "queue empty"
} | ||||||
| 09 June 2026, 02:58 am | cashflow_recalc | 3 ms | 0 | Success | — | |
Show run details{
"message": "queue empty"
} | ||||||
| 09 June 2026, 02:58 am | cashflow_recalc | 4 ms | 0 | Success | — | |
Show run details{
"message": "queue empty"
} | ||||||
| 09 June 2026, 02:58 am | cashflow_recalc | 3 ms | 0 | Success | — | |
Show run details{
"message": "queue empty"
} | ||||||
| 09 June 2026, 02:58 am | cashflow_recalc | 4 ms | 0 | Success | — | |
Show run details{
"message": "queue empty"
} | ||||||
| 09 June 2026, 02:58 am | cashflow_recalc | 3 ms | 0 | Success | — | |
Show run details{
"message": "queue empty"
} | ||||||
| 09 June 2026, 02:58 am | cashflow_recalc | 4 ms | 0 | Success | — | |
Show run details{
"message": "queue empty"
} | ||||||
| 09 June 2026, 02:58 am | cashflow_recalc | 3 ms | 0 | Success | — | |
Show run details{
"message": "queue empty"
} | ||||||
| 09 June 2026, 02:58 am | cashflow_recalc | 4 ms | 0 | Success | — | |
Show run details{
"message": "queue empty"
} | ||||||
| 09 June 2026, 02:58 am | cashflow_recalc | 3 ms | 0 | Success | — | |
Show run details{
"message": "queue empty"
} | ||||||
| 09 June 2026, 02:58 am | cashflow_recalc | 3 ms | 0 | Success | — | |
Show run details{
"message": "queue empty"
} | ||||||
| 09 June 2026, 02:57 am | cashflow_recalc | 4 ms | 0 | Success | — | |
Show run details{
"message": "queue empty"
} | ||||||
| 09 June 2026, 02:57 am | cashflow_recalc | 3 ms | 0 | Success | — | |
Show run details{
"message": "queue empty"
} | ||||||
| 09 June 2026, 02:57 am | cashflow_recalc | 3 ms | 0 | Success | — | |
Show run details{
"message": "queue empty"
} | ||||||
| 09 June 2026, 02:57 am | cashflow_recalc | 4 ms | 0 | Success | — | |
Show run details{
"message": "queue empty"
} | ||||||
| 09 June 2026, 02:57 am | cashflow_recalc | 4 ms | 0 | Success | — | |
Show run details{
"message": "queue empty"
} | ||||||
| 09 June 2026, 02:57 am | cashflow_recalc | 4 ms | 0 | Success | — | |
Show run details{
"message": "queue empty"
} | ||||||
| 09 June 2026, 02:57 am | cashflow_recalc | 3 ms | 0 | Success | — | |
Show run details{
"message": "queue empty"
} | ||||||
| 09 June 2026, 02:57 am | cashflow_recalc | 3 ms | 0 | Success | — | |
Show run details{
"message": "queue empty"
} | ||||||
| 09 June 2026, 02:57 am | cashflow_recalc | 4 ms | 0 | Success | — | |
Show run details{
"message": "queue empty"
} | ||||||
| 09 June 2026, 02:57 am | cashflow_recalc | 3 ms | 0 | Success | — | |
Show run details{
"message": "queue empty"
} | ||||||
| 09 June 2026, 02:57 am | cashflow_recalc | 4 ms | 0 | Success | — | |
Show run details{
"message": "queue empty"
} | ||||||
| 09 June 2026, 02:57 am | cashflow_recalc | 3 ms | 0 | Success | — | |
Show run details{
"message": "queue empty"
} | ||||||
| 09 June 2026, 02:57 am | cashflow_recalc | 4 ms | 0 | Success | — | |
Show run details{
"message": "queue empty"
} | ||||||
| 09 June 2026, 02:57 am | cashflow_recalc | 4 ms | 0 | Success | — | |
Show run details{
"message": "queue empty"
} | ||||||
| 09 June 2026, 02:57 am | cashflow_recalc | 7 ms | 0 | Success | — | |
Show run details{
"message": "queue empty"
} | ||||||
| 09 June 2026, 02:57 am | cashflow_recalc | 4 ms | 0 | Success | — | |
Show run details{
"message": "queue empty"
} | ||||||
| 09 June 2026, 02:57 am | cashflow_recalc | 4 ms | 0 | Success | — | |
Show run details{
"message": "queue empty"
} | ||||||
| 09 June 2026, 02:57 am | cashflow_recalc | 3 ms | 0 | Success | — | |
Show run details{
"message": "queue empty"
} | ||||||
| 09 June 2026, 02:57 am | cashflow_recalc | 4 ms | 0 | Success | — | |
Show run details{
"message": "queue empty"
} | ||||||
| 09 June 2026, 02:57 am | cashflow_recalc | 5 ms | 0 | Success | — | |
Show run details{
"message": "queue empty"
} | ||||||
| 09 June 2026, 02:57 am | cashflow_recalc | 4 ms | 0 | Success | — | |
Show run details{
"message": "queue empty"
} | ||||||
| 09 June 2026, 02:57 am | cashflow_recalc | 4 ms | 0 | Success | — | |
Show run details{
"message": "queue empty"
} | ||||||
| 09 June 2026, 02:57 am | cashflow_recalc | 3 ms | 0 | Success | — | |
Show run details{
"message": "queue empty"
} | ||||||
| 09 June 2026, 02:57 am | cashflow_recalc | 4 ms | 0 | Success | — | |
Show run details{
"message": "queue empty"
} | ||||||
| 09 June 2026, 02:57 am | cashflow_recalc | 3 ms | 0 | Success | — | |
Show run details{
"message": "queue empty"
} | ||||||
| 09 June 2026, 02:57 am | cashflow_recalc | 4 ms | 0 | Success | — | |
Show run details{
"message": "queue empty"
} | ||||||
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 | — | — |