diff --git a/assets/cron-scheduler-heatmap.png b/assets/cron-scheduler-heatmap.png index b18f292..ad043a7 100644 Binary files a/assets/cron-scheduler-heatmap.png and b/assets/cron-scheduler-heatmap.png differ diff --git a/assets/cron-scheduler-no-fixed-time.png b/assets/cron-scheduler-no-fixed-time.png index 653e719..e82cc09 100644 Binary files a/assets/cron-scheduler-no-fixed-time.png and b/assets/cron-scheduler-no-fixed-time.png differ diff --git a/assets/cron-scheduler-table.png b/assets/cron-scheduler-table.png index fd8386c..457bd3d 100644 Binary files a/assets/cron-scheduler-table.png and b/assets/cron-scheduler-table.png differ diff --git a/docs/cron-scheduler.md b/docs/cron-scheduler.md index 21725f2..b3e3cbb 100644 --- a/docs/cron-scheduler.md +++ b/docs/cron-scheduler.md @@ -1,4 +1,4 @@ - @@ -11,7 +11,7 @@ A Node-RED tab fetches the inventory straight from NocoDB's REST API at request time — no cache — and renders it as a 7×24 grid (Mon–Sun × 00:00–23:00). Each cell's color is a **computed load weight**, not a raw job count: base `1` per job, plus a duration-bucket weight, plus a resource-tag weight (`disk-intensive`=2, `cpu-intensive`=1.5, `network-intensive`=0.5, summed if a job carries more than one), plus a flat `+1` if the job's category is `backup` — disk I/O contention from an overlapping backup is judged a worse collision than two lightweight jobs sharing an hour, and the weight formula says so explicitly rather than pretending every job costs the same. Weights bucket into 4 color bands (green → yellow → orange → red) relative to the current busiest cell. Jobs whose time can't be resolved to a specific day+hour are excluded from the grid and listed separately rather than forced into a misleading cell. -This is the real heatmap, not a description of it — 50 known jobs, 15 without a fixed time: +This is the real heatmap, not a description of it — 49 known jobs, 14 without a fixed time: ![The real Fleet Schedule Heatmap widget in Dashy, with Tue 00:00 clicked open showing its 8 real jobs — name, host, category, and FIXED/APP UI badges for jobs that can't simply be rescheduled](../assets/cron-scheduler-heatmap.png) @@ -20,11 +20,11 @@ This is the real heatmap, not a description of it — 50 known jobs, 15 without Jobs with no fixed time get their own list instead of a misleading grid cell: -![The heatmap's "no fixed time" section expanded — 15 real jobs excluded from the grid, including the manually-triggered-only Kestra flows and the PBS prune job with its mismatched datastore name](../assets/cron-scheduler-no-fixed-time.png) +![The heatmap's "no fixed time" section expanded — 14 real jobs excluded from the grid, including the manually-triggered-only Kestra flows and Hawser's continuous 30-second heartbeat agent](../assets/cron-scheduler-no-fixed-time.png) Both of those are Dashy's *rendered* view. This is the raw NocoDB table underneath it — the actual data structure, not the heatmap built from it: -![The real "Cron Scheduler" NocoDB table in grid view, showing all 50 records with their Job Name, Category, Schedule Expr, Est Start, Duration, Resource Tags, and Source columns](../assets/cron-scheduler-table.png) +![The real "Cron Scheduler" NocoDB table in grid view, showing all 49 records with their Job Name, Category, Schedule Expr, Est Start, Duration, Resource Tags, and Source columns](../assets/cron-scheduler-table.png) ## Why A Manual Inventory Instead Of An Auto-discovered One