fix: 503 при сбое GetScan вместо ложного 404 scan not found

- Store.GetScan возвращает (job, ok, error); Postgres отдаёт err при ошибке БД/JSON

- API: getScanOrWriteError → 503 scan storage temporarily unavailable

- Web UI: понятное сообщение для HTTP 503 при опросе скана

Made-with: Cursor
This commit is contained in:
PTah
2026-04-13 15:38:04 +10:00
parent 6ad59c9990
commit 0086302605
5 changed files with 74 additions and 45 deletions
+10 -2
View File
@@ -233,8 +233,16 @@
async function fetchScanJob(id) {
const res = await fetch(`/api/scans/${encodeURIComponent(id)}`);
if (!res.ok) throw new Error(`HTTP ${res.status}: ${await res.text()}`);
return res.json();
const body = await res.text();
if (!res.ok) {
if (res.status === 503) {
throw new Error(
`Временно недоступно хранилище сканов (HTTP ${res.status}). Повторите через несколько секунд. ${body}`
);
}
throw new Error(`HTTP ${res.status}: ${body}`);
}
return JSON.parse(body);
}
/** Просит сервер остановить скан (отмена воркера + статус canceled в БД). */