v0.0.26¶
Fixes¶
lythonic.compose.trigger: scheduled fires missed while the process was down now run once on start.TriggerStore.activatewas anINSERT OR REPLACEthat resetlast_run_atandcreated_aton every call, so hosts that activate triggers at startup silently skipped every fire that fell due during downtime. It is now an upsert:- re-activating an active trigger keeps
last_run_at,last_run_idandcreated_at, even if its config changed, so the poll loop fires once (not once per missed fire) and then resumes the schedule - activating a
disabledtrigger resetslast_run_atto now, so a deliberate pause is not caught up
This is a behaviour change: re-activation no longer resets run history, and a
trigger whose schedule passed during downtime fires immediately on start.
Remove any external catch-up workaround to avoid a double run.
- lythonic.compose.trigger: a scheduled run that outlasts later scheduled fire
times still skips them, but now logs a warning naming the trigger, the number
of skipped fires and the first skipped time (UTC).
Documentation¶
- The scheduled-triggers tutorial gains a "Restarts and Missed Fires" section.
Decisions and tickets¶
Closed tickets:
-
12 Triggers: re-activation resets last_run_at, so runs missed while down are never caught up¶