2.1 KiB
2.1 KiB
Workflow & Zustände
Ripster steuert den Ablauf als State-Machine im pipelineService.
Zustandsdiagramm (vereinfacht)
flowchart LR
IDLE --> DISC_DETECTED
DISC_DETECTED --> ANALYZING
ANALYZING --> METADATA_SELECTION
METADATA_SELECTION --> READY_TO_START
READY_TO_START --> RIPPING
READY_TO_START --> MEDIAINFO_CHECK
MEDIAINFO_CHECK --> WAITING_FOR_USER_DECISION
WAITING_FOR_USER_DECISION --> MEDIAINFO_CHECK
MEDIAINFO_CHECK --> READY_TO_ENCODE
READY_TO_ENCODE --> ENCODING
ENCODING --> FINISHED
ENCODING --> ERROR
RIPPING --> ERROR
RIPPING --> CANCELLED
State-Liste
| State | Bedeutung |
|---|---|
IDLE |
Wartet auf Disc |
DISC_DETECTED |
Disc erkannt |
ANALYZING |
MakeMKV-Analyse läuft |
METADATA_SELECTION |
Benutzer wählt Metadaten |
WAITING_FOR_USER_DECISION |
Playlist-Auswahl nötig |
READY_TO_START |
Übergangszustand vor Start |
RIPPING |
MakeMKV-Rip läuft |
MEDIAINFO_CHECK |
Quelle/Tracks werden ausgewertet |
READY_TO_ENCODE |
Review ist bereit |
ENCODING |
HandBrake läuft |
FINISHED |
erfolgreich abgeschlossen |
CANCELLED |
abgebrochen |
ERROR |
fehlgeschlagen |
Typische Pfade
Standardfall (kein vorhandenes RAW)
- Disc erkannt
- Analyse + Metadaten
RIPPINGMEDIAINFO_CHECKREADY_TO_ENCODEENCODINGFINISHED
Vorhandenes RAW
READY_TO_START springt direkt zu MEDIAINFO_CHECK (kein neuer Rip).
Mehrdeutige Blu-ray-Playlist
MEDIAINFO_CHECK -> WAITING_FOR_USER_DECISION bis Benutzer Playlist bestätigt.
Queue-Verhalten
Wenn pipeline_max_parallel_jobs erreicht ist:
- Job-Aktionen werden als Queue-Einträge abgelegt
- Queue kann zusätzlich Nicht-Job-Einträge enthalten (
script,chain,wait) - Reihenfolge ist per API/UI änderbar
Abbruch, Retry, Restart
cancel: laufenden Job abbrechen oder Queue-Eintrag entfernenretry: Fehler-/Abbruch-Job neu startenreencode: aus vorhandenem RAW neu encodierenrestart-review: Review aus RAW neu aufbauenrestart-encode: Encoding mit letzter bestätigter Auswahl neu starten