59 lines
1.4 KiB
Markdown
59 lines
1.4 KiB
Markdown
# Downloads
|
|
|
|
Auf `Downloads` werden ZIP-Archive für Historie-Artefakte erstellt und bereitgestellt.
|
|
|
|
## Was heruntergeladen werden kann
|
|
|
|
Ein Download-Eintrag referenziert immer einen Historie-Job und genau ein Ziel:
|
|
|
|
- `RAW`
|
|
- `Output`
|
|
|
|
Erzeugt wird ein ZIP-Archiv im Download-Verzeichnis des Backends.
|
|
|
|
## Statusmodell
|
|
|
|
| Status | Bedeutung |
|
|
|---|---|
|
|
| `queued` | Eintrag erstellt, wartet auf Verarbeitung |
|
|
| `processing` | ZIP wird gerade gebaut |
|
|
| `ready` | Archiv fertig, Download-Link aktiv |
|
|
| `failed` | Erzeugung oder Zugriff fehlgeschlagen |
|
|
|
|
## Eintrag anlegen
|
|
|
|
Startpunkt ist die `Historie`:
|
|
|
|
1. Job öffnen.
|
|
2. Download einreihen.
|
|
3. Ziel (`RAW` oder `Output`) wählen.
|
|
4. Status in `Downloads` verfolgen.
|
|
|
|
## Wichtige Laufzeitdetails
|
|
|
|
- Wenn bereits ein passendes, aktuelles Archiv existiert, kann der Eintrag wiederverwendet werden.
|
|
- Nach Backend-Neustart werden unterbrochene `queued`/`processing`-Einträge geprüft und fortgesetzt.
|
|
- Fehlt eine erwartete ZIP-Datei bei `ready`, wird der Eintrag auf `failed` gesetzt.
|
|
|
|
## Download auslösen
|
|
|
|
Bei Status `ready`:
|
|
|
|
- Download-Button lädt die ZIP direkt aus `/api/downloads/:id/file`.
|
|
|
|
## Einträge entfernen
|
|
|
|
`Löschen` entfernt:
|
|
|
|
- Queue-Metadaten
|
|
- zugehörige Archivdatei
|
|
|
|
Nicht erlaubt:
|
|
|
|
- Löschen während `queued`/`processing`
|
|
|
|
## Echtzeitaktualisierung
|
|
|
|
Die Seite reagiert auf `DOWNLOADS_UPDATED` per WebSocket.
|
|
Dadurch sind Statuswechsel ohne Reload sichtbar.
|