Follow-up to #234 (the run-now MVP shipped: jobs.py registry + POST /api/health/tasks/{name}/run + Run-now buttons for update-checker & queue-feeder).
Remaining scope from the original #234:
- last-run / next-run columns on the Health page (compute next-fire from
last_success_at + expected_interval_s; scheduler jobs from schedule_store).
- pause / resume per loop, persisted across restarts (enable/disable flag in schedule_store / a job-state table).
- edit-trigger for the scheduler jobs (interval/daily/weekly), reusing schedule_store.
- run-now for more loops — coverage-cache and dashboard-cache
refresh() take build args, so they need a no-arg trigger wrapper; completion-watcher could expose a poll-now.
Borrowed-from: sublarr Settings -> System -> Scheduler. Builds on #157 task_health + the #234 MVP.
Follow-up to #234 (the run-now MVP shipped:
jobs.pyregistry +POST /api/health/tasks/{name}/run+ Run-now buttons for update-checker & queue-feeder).Remaining scope from the original #234:
last_success_at+expected_interval_s; scheduler jobs from schedule_store).refresh()take build args, so they need a no-arg trigger wrapper; completion-watcher could expose a poll-now.Borrowed-from: sublarr Settings -> System -> Scheduler. Builds on #157 task_health + the #234 MVP.