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:
parent
18db52a47c
commit
ee39633ad7
6 changed files with 60 additions and 8 deletions
|
|
@ -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 {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue