- POST /api/sources/health/run (202, bei laufendem Run 409) stoesst den
Lauf als BackgroundTask an: eigene DB-Connection, run_health_checks +
generate_suggestions aus den geteilten Diensten, exakt nach dem Vorbild
des Monitor-Nachtjobs daily_source_health_check. Kein Code-Duplikat.
- GET /api/sources/health/run-status liefert den In-Memory-Status
(health_run.py, pure Funktionen mit Doppelstart-Sperre, unit-getestet).
Nach einem Neustart ist der Status idle, ein partieller Stand wird vom
naechsten Lauf archiviert und ueberschrieben (wie beim Nachtjob).
- Frontend: Knopf Jetzt pruefen + Zuletzt geprueft in der Stats-Leiste
der Quellenliste, Polling alle 4 s, Abschluss-Toast mit geprueft/
Probleme/neue Vorschlaege, danach Liste + Aufgaben-Badge neu laden.
Beim Oeffnen des Reiters wird ein laufender Run aus anderer Session
erkannt und weiterverfolgt.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>