Teknium
ed2dd0b35c
fix(cron): live-owner stale-claim reclaim measures silence, not run length
...
The #115692 reclaim released any running attempt whose claim was older than
max(3 x HERMES_CRON_TIMEOUT, script timeout, 2 h), even when the owner was
healthy and busy. Every cron job that legitimately ran longer than that was
marked `unknown` mid-run, its fire claim yanked from under it and the run
aborted with "lost its durable fire claim ownership" (two weekly jobs on one
install in a single day).
The run monitor now stamps `progress_at` on the execution row every 60 s
while the agent reports recent activity, and the sweep measures the stale
bound from that stamp (claim age for legacy rows). A wedged worker stops
stamping and is still reclaimed once the bound passes.
Shape: the stamper and the inactivity watchdog loop (which reads the same
idle signal) live in a new topical sibling cron/scheduler_liveness.py, so
cron/scheduler.py shrinks (4457 -> 4436 lines) instead of growing.
2026-10-07 06:29:09 -07:00
..
2026-09-27 15:04:50 +05:30
2026-09-23 03:15:26 -07:00
2026-09-23 03:15:26 -07:00
2026-09-23 03:15:26 -07:00
2026-09-23 08:09:47 -07:00
2026-09-20 17:55:54 +05:30
2026-09-20 17:55:54 +05:30
2026-09-23 03:15:26 -07:00
2026-10-06 18:02:57 -05:00
2026-09-23 07:02:44 -04:00
2026-10-02 01:00:00 +05:30
2026-09-23 15:26:34 -04:00
2026-09-23 03:15:26 -07:00
2026-09-23 07:02:44 -04:00
2026-09-25 21:28:32 +05:30
2026-09-29 15:58:55 +05:30
2026-09-23 07:02:44 -04:00
2026-09-23 07:02:44 -04:00
2026-10-05 00:55:03 -07:00
2026-10-06 14:51:26 -04:00
2026-09-23 03:15:26 -07:00
2026-09-23 07:02:44 -04:00
2026-10-07 06:29:09 -07:00
2026-10-01 20:14:31 -04:00
2026-09-23 07:02:44 -04:00
2026-09-23 03:15:26 -07:00
2026-10-03 22:23:27 +05:30
2026-09-23 07:02:44 -04:00
2026-09-23 07:02:44 -04:00
2026-09-29 22:57:48 -04:00
2026-09-21 02:52:15 -07:00
2026-09-21 02:52:15 -07:00
2026-09-21 02:52:15 -07:00
2026-09-29 22:57:48 -04:00
2026-09-23 03:15:26 -07:00
2026-09-20 15:54:45 -07:00
2026-09-23 10:42:18 -04:00
2026-09-23 03:15:26 -07:00
2026-09-23 03:15:26 -07:00
2026-09-28 05:28:05 -07:00
2026-10-07 13:43:19 +05:30
2026-09-23 03:15:26 -07:00
2026-09-28 12:43:03 -07:00
2026-09-23 03:15:26 -07:00
2026-09-28 02:32:05 +05:30
2026-10-06 18:02:57 -05:00
2026-09-23 03:15:26 -07:00
2026-09-26 19:57:55 +05:30
2026-09-28 02:32:05 +05:30
2026-09-29 15:58:55 +05:30
2026-09-20 17:59:57 +05:30
2026-09-28 19:07:43 +05:30
2026-09-23 10:37:15 -07:00
2026-10-07 18:20:07 +05:30
2026-10-07 10:20:18 +05:30
2026-09-28 12:43:03 -07:00
2026-09-28 19:07:43 +05:30
2026-10-07 06:29:09 -07:00
2026-10-04 01:53:17 +05:30
2026-09-28 05:28:05 -07:00
2026-09-21 14:49:05 -04:00
2026-09-23 03:15:26 -07:00
2026-09-23 03:15:26 -07:00
2026-09-23 03:15:26 -07:00
2026-09-23 03:15:26 -07:00
2026-10-02 01:02:00 +05:30
2026-10-02 01:02:00 +05:30
2026-10-02 01:33:04 +05:30
2026-10-02 20:29:53 -05:00
2026-09-23 07:02:44 -04:00
2026-09-30 21:33:08 -04:00
2026-09-23 03:15:26 -07:00
2026-09-23 03:15:26 -07:00
2026-09-23 03:15:26 -07:00
2026-09-23 10:37:15 -07:00
2026-09-28 02:32:05 +05:30
2026-09-23 03:15:26 -07:00
2026-09-23 07:02:44 -04:00
2026-09-23 03:15:26 -07:00
2026-09-23 15:26:34 -04:00
2026-09-23 03:15:26 -07:00
2026-09-23 07:02:44 -04:00
2026-09-23 10:42:18 -04:00
2026-09-23 03:15:26 -07:00
2026-09-28 05:28:05 -07:00
2026-09-24 16:59:23 +05:30
2026-09-23 03:15:26 -07:00
2026-09-23 03:15:26 -07:00
2026-10-04 01:52:54 +05:30
2026-09-19 22:34:21 -07:00
2026-09-30 20:57:21 -04:00
2026-10-07 13:33:18 +05:30
2026-09-23 03:15:26 -07:00
2026-09-23 03:15:26 -07:00
2026-09-23 03:15:26 -07:00
2026-09-23 07:02:44 -04:00
2026-10-01 17:18:56 -07:00
2026-09-24 12:47:41 -04:00
2026-09-23 07:02:44 -04:00
2026-09-23 03:15:26 -07:00
2026-09-23 07:02:44 -04:00
2026-10-07 06:29:09 -07:00
2026-09-23 07:02:44 -04:00
2026-09-23 03:15:26 -07:00
2026-09-23 03:15:26 -07:00
2026-09-23 19:51:34 -04:00
2026-10-03 16:31:54 +05:30
2026-09-23 03:15:26 -07:00