Johannes du Plessis
9e5a1924ef
fix: purge expired thread_wakeup crons ( #1656 )
...
* fix: purge expired thread_wakeup crons
One-shot wakeup crons set an end_time that stops re-firing but the cron
row is never deleted, so dead rows accumulate (86 in prod). Add a purge
that deletes thread_wakeup crons past their end_time, called
opportunistically before scheduling a new wakeup, plus a one-time
backfill script. Conservative: matches only kind=thread_wakeup with a
past end_time.
* chore: retrigger Open SWE review
---------
Co-authored-by: open-swe[bot] <open-swe@users.noreply.github.com >
2026-06-30 17:59:41 -07:00
..
2026-06-30 11:29:16 -07:00
2026-05-11 16:03:38 -07:00
2026-05-28 14:29:33 -07:00
2026-06-04 19:58:30 +00:00
2026-06-26 13:48:38 -07:00
2026-06-09 15:46:29 -07:00
2026-06-05 02:20:24 +00:00
2026-06-11 09:54:35 -07:00
2026-06-11 12:21:59 -07:00
2026-06-09 13:19:11 -07:00
2026-06-18 11:13:58 -07:00
2026-06-01 13:25:12 -07:00
2026-06-01 13:25:12 -07:00
2026-06-11 09:54:35 -07:00
2026-06-30 11:40:54 -07:00
2026-06-08 14:37:04 -07:00
2026-06-04 09:33:51 -07:00
2026-06-02 15:04:20 -07:00
2026-06-17 14:12:04 -07:00
2026-06-17 14:12:04 -07:00
2026-06-29 09:54:56 -07:00
2026-06-18 14:01:25 -07:00
2026-06-17 13:59:55 -07:00
2026-06-20 09:44:12 -07:00
2026-06-11 11:54:25 -07:00
2026-06-12 14:15:58 -07:00
2026-06-01 20:56:30 +00:00
2026-06-11 09:54:35 -07:00
2026-06-04 13:54:06 -07:00
2026-06-12 14:14:50 -07:00
2026-06-04 19:58:30 +00:00
2026-06-09 16:41:07 -07:00
2026-06-29 10:22:01 -07:00
2026-06-29 10:22:01 -07:00
2026-05-01 22:51:34 +00:00
2026-06-30 17:17:35 -07:00
2026-05-08 14:29:23 -07:00
2026-06-26 14:39:46 -07:00
2026-06-16 19:38:36 -07:00
2026-06-16 19:38:36 -07:00
2026-06-15 09:39:08 -07:00
2026-06-29 13:28:13 -07:00
2026-06-17 14:45:57 -07:00
2026-06-17 14:45:57 -07:00
2026-06-30 10:48:53 -07:00
2026-05-26 16:24:34 -07:00
2026-06-17 14:45:57 -07:00
2026-06-29 12:24:06 -07:00
2026-06-11 12:05:27 -07:00
2026-06-25 17:17:51 -07:00
2026-06-26 13:48:38 -07:00
2026-06-04 17:38:54 -07:00
2026-06-26 13:48:38 -07:00
2026-05-08 00:30:14 -04:00
2026-06-08 11:16:08 -07:00
2026-06-23 12:06:58 -07:00
2026-06-29 13:02:55 -07:00
2026-06-11 09:54:35 -07:00
2026-05-28 10:59:29 -07:00
2026-06-17 09:12:52 -07:00
2026-05-20 18:35:00 +00:00
2026-05-01 14:24:25 -07:00
2026-06-23 12:07:13 -07:00
2026-06-23 12:07:13 -07:00
2026-06-26 11:43:38 -07:00
2026-06-29 13:16:54 -07:00
2026-06-30 14:35:26 -07:00
2026-06-26 13:48:38 -07:00
2026-06-05 13:48:47 -07:00
2026-06-29 13:28:13 -07:00
2026-06-03 12:33:22 -07:00
2026-03-06 16:10:34 -08:00
2026-06-26 13:48:38 -07:00
2026-05-08 10:21:55 -07:00
2026-06-24 12:58:10 -07:00
2026-06-08 13:53:16 -07:00
2026-06-11 13:42:10 -07:00
2026-06-23 12:24:11 -07:00
2026-06-23 12:32:10 -07:00
2026-06-26 13:48:38 -07:00
2026-05-20 18:35:00 +00:00
2026-05-21 17:44:04 +00:00
2026-05-20 18:35:00 +00:00
2026-05-27 17:03:33 +00:00
2026-06-16 10:12:35 -07:00
2026-06-16 19:38:36 -07:00
2026-06-10 10:44:13 -07:00
2026-06-16 15:32:24 -07:00
2026-06-01 13:25:12 -07:00
2026-06-26 16:08:25 -07:00
2026-06-26 16:08:25 -07:00
2026-06-26 16:08:25 -07:00
2026-06-25 14:11:21 -07:00
2026-06-26 13:48:38 -07:00
2026-06-26 16:08:38 -07:00
2026-03-17 11:55:36 -07:00
2026-05-28 16:15:13 -07:00
2026-05-01 14:29:48 -07:00
2026-06-30 17:59:41 -07:00
2026-06-30 14:35:51 -07:00
2026-06-29 13:16:54 -07:00
2026-06-29 13:16:54 -07:00
2026-05-08 14:24:12 -07:00
2026-06-02 15:04:20 -07:00
2026-06-29 13:16:54 -07:00
2026-06-26 13:48:38 -07:00
2026-06-29 09:54:56 -07:00
2026-06-30 12:33:25 -07:00
2026-06-23 12:24:11 -07:00
2026-06-10 11:07:42 -07:00
2026-06-16 13:59:37 -07:00
2026-06-25 14:11:21 -07:00
2026-06-11 09:54:35 -07:00
2026-06-23 12:07:13 -07:00
2026-06-04 19:58:30 +00:00
2026-06-30 14:35:26 -07:00