feat: in-process nightly scheduler + pause at window end

Hook registers a 15-minute schedule that starts/resumes the backfill only
inside the maintenance window (no external cron or token). The backfill
pauses when the window closes and resumes next night. UI shows paused
state and last-run errors.
This commit is contained in:
Rawman Grey 2026-10-25 14:26:49 +03:00
parent 18db52a47c
commit ee39633ad7
6 changed files with 60 additions and 8 deletions

View file

@ -4,6 +4,9 @@
<v-notice v-if="status && !status.enabled" type="warning">
Preview generation is disabled. Enable it in Configuration below.
</v-notice>
<v-notice v-if="status?.run?.error" type="danger">
Last run error: {{ status.run.error }}
</v-notice>
<section class="ip__card">
<header class="ip__head">
@ -35,7 +38,7 @@
<p class="ip__hint">
{{ status?.enabled ? 'enabled' : 'disabled' }} ·
{{ status?.inWindow ? 'inside maintenance window' : 'outside maintenance window' }} ·
{{ status?.run?.paused ? 'paused (window closed)' : status?.inWindow ? 'inside maintenance window' : 'outside maintenance window' }} ·
next window {{ status?.nextWindowHuman ?? '—' }}
</p>
</section>
@ -228,6 +231,8 @@ interface RunState {
etaHuman: string;
startedAtHuman: string | null;
finishedAtHuman: string | null;
paused?: boolean;
error?: string;
}
interface Status {