CW Environment 0.1.0-alpha80 · 11.09.2026
Data Foundation 3.7 · Watchdog-Nachtlauf

Problem aus dem Praxistest
- Ein lang laufender Python-Worker konnte nach mehreren Stunden ohne Heartbeat in einem Remote-/Systemzustand hängen bleiben.
- Der gespeicherte State blieb dabei auf `running`, obwohl keine Fortschrittsmeldung mehr kam.
- Besonders bei einem unbeaufsichtigten Nachtlauf ist ein einzelner langlebiger Prozess dafür zu empfindlich.

Neu
- Der Nachtlauf wird jetzt von einem separaten Supervisor/Watchdog überwacht.
- Der eigentliche Download-Worker bleibt ein eigener Prozess. Meldet er länger als 180 Sekunden kein Lebenszeichen, beendet der Supervisor nur diesen Worker und startet ihn automatisch neu.
- Remote-Job-IDs, Paketstatus, Manifeste und bereits validierte RAW-Dateien liegen weiterhin auf Platte und werden nach dem Neustart wiederverwendet.
- Ein hängender Status-Poll kann dadurch nicht mehr den kompletten Nachtlauf für Stunden blockieren.
- Der Worker-Heartbeat wurde bewusst auf ca. 30 Sekunden beruhigt; die Backend-Anzeige pollt ca. alle 10 Sekunden.
- Remote-Statusabfragen erfolgen in ruhigerem Intervall (ca. 25 Sekunden).
- Der Supervisor besitzt einen eigenen Heartbeat und zeigt im Backend Watchdog-Status sowie automatische Neustarts.
- Unter Windows aktiviert der Supervisor während des Nachtlaufs über die Standardbibliothek `SetThreadExecutionState` einen System-Schlafschutz. Der Bildschirm darf ausgehen, Windows soll den Rechner während des aktiven Datenlaufs aber nicht in den normalen Energiesparmodus schicken.
- Beim Beenden des Supervisors wird der Schlafschutz wieder aufgehoben.
- `Nachtlauf abbrechen` besitzt zusätzlich eine Watchdog-Sicherung: reagiert ein blockierter Worker nicht innerhalb der Grace-Periode, beendet der Supervisor ihn kontrolliert und erhält den fortsetzbaren State.
- Ein alter alpha78/79-Worker mit stale Heartbeat kann beim Start von alpha80 übernommen werden: der Supervisor beendet den verwaisten Worker, behält den gespeicherten Jobzustand und setzt den Lauf fort.
- Zustand zurücksetzen löscht weiterhin keine RAW-Dateien.

Anzeige
- `Worker` zeigt aktiv / verzögert / keine Rückmeldung / Watchdog startet neu.
- `Watchdog` zeigt eigenen Status, Windows-Schlafschutz und Zahl automatischer Worker-Neustarts.
- Heartbeat-Warnung ab ca. 90 Sekunden, deutlicher stale-Zustand ab ca. 5 Minuten.
- Hauptfortschritt zählt weiterhin nur validierte Pakete.

Unverändert
- DACH-Komplettplan: 310 logische Pakete / 92 Quellvariablen.
- adaptive CAMS-Teilpakete.
- pip-freier CW Embedded Data Store Client.
- vorhandene RAW-Dateien und Manifeste.
