mirror of
https://github.com/MBombeck/HealthLog.git
synced 2026-11-14 22:50:51 +00:00
feat(admin): say what a queued restore is waiting for
A restore never runs beside a backup pass or another large job: the heavy lane puts its delivery back in the queue for a minute at a time. The job's own row says queued for the whole wait, and the console said the restore starts "as soon as the background worker picks it up", which read as a stuck worker while a backup ran. The status routes now ask the queue. A delivery the lane put back sits in created with a start_after ahead of now, and the active row of a heavy queue is what holds the lane. The job view carries waiting: "backup" | "busy" | null, and the console says it waits for the running backup, or for another large job, and since when it has been queued, in all nine locales. A queue that cannot be asked answers no wait and is reported at warn. The job view and its reads move to backup-restore-view.ts, which keeps the worker module under its size baseline.
This commit is contained in:
1 parent
6a87810dbf
commit
7936ab9a57
28 files changed
+544
-199
No files matched your search
@@ -132,6 +132,12 @@ const restoreJob = z
|
||||
})
|
||||
.nullable(),
|
||||
failure: restoreFailure.nullable(),
|
||||
waiting: z
|
||||
.enum(["backup", "busy"])
|
||||
.nullable()
|
||||
.describe(
|
||||
"Why a `queued` job has not started. A restore never runs beside a backup or another large job: while one holds the server it goes back to the queue for a minute at a time. `backup` when a backup pass holds it, `busy` for anything else (an import, a nightly pass, the memory guard). Null while the job only waits for the worker, and on every job that is not queued.",
|
||||
),
|
||||
attempts: z.number().int(),
|
||||
createdAt: z.string(),
|
||||
startedAt: z.string().nullable(),
|
||||
|
||||
Reference in new issue
Block a user