generated from Dicken/dickendock
round52: Fehler im Sammel-Scan werden jetzt in der UI angezeigt und persistent geloggt statt verschluckt
This commit is contained in:
@@ -370,8 +370,20 @@ export async function scanRoutes(app: FastifyInstance): Promise<void> {
|
||||
allStale.push(...result.staleServices);
|
||||
allNameChanges.push(...result.nameChanges);
|
||||
allNew.push(...result.newServices);
|
||||
} catch {
|
||||
// einzelnes fehlgeschlagenes Gerät soll den Rest nicht abbrechen
|
||||
} catch (err) {
|
||||
// Einzelnes fehlgeschlagenes Gerät soll den Rest nicht
|
||||
// abbrechen - ABER trotzdem persistent loggen, statt
|
||||
// stillschweigend zu überspringen. Vorher war das ein
|
||||
// stummer catch-Block: scheiterte ausgerechnet immer
|
||||
// dasselbe Gerät (z. B. wegen eines kaputten Hostnamens),
|
||||
// gab es dafür nie einen sichtbaren Hinweis.
|
||||
const detail = err instanceof Error ? err.message : String(err);
|
||||
logRepo.logScan({
|
||||
type: "device",
|
||||
targetId: device.id,
|
||||
level: "error",
|
||||
message: `${device.hostname} (${device.ip}): Scan im Sammel-Lauf fehlgeschlagen – ${detail}`,
|
||||
});
|
||||
} finally {
|
||||
unlockDevice(device.id);
|
||||
}
|
||||
@@ -392,7 +404,20 @@ export async function scanRoutes(app: FastifyInstance): Promise<void> {
|
||||
newServices: allNew,
|
||||
});
|
||||
} catch (err) {
|
||||
failJob("devices", err instanceof Error ? err.message : "Unbekannter Fehler");
|
||||
// WICHTIG: Vorher wurde ein Abbruch des GESAMTEN Sammel-Scans nur im
|
||||
// In-Memory-Jobstatus (lastError) vermerkt, nie in der persistenten
|
||||
// scan_logs-Tabelle - Admin -> Logs blieb dadurch leer, obwohl der
|
||||
// Scan sichtbar fehlgeschlagen war (Badge in der Seitenleiste
|
||||
// verschwindet, weil running=false wird, aber ohne jede Erklärung
|
||||
// warum). Jetzt zusätzlich persistent geloggt.
|
||||
const detail = err instanceof Error ? err.message : String(err);
|
||||
logRepo.logScan({
|
||||
type: "device",
|
||||
targetId: null,
|
||||
level: "error",
|
||||
message: `Sammel-Scan abgebrochen – ${detail}`,
|
||||
});
|
||||
failJob("devices", detail);
|
||||
}
|
||||
})();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user