Dashboard-Korrektur-Popup, Worker-Tab mit Live-Ping, Herzschlag, Anzeige-Fixes
Ampel / ampel (push) Failing after 29s

Commander-Wuensche (23.07. Nacht):
- "Nicht korrekt?!"-Knopf direkt an der Disc-Karte: Korrektur-Suche als
  Popup (MetadataKorrektur) — kein Seitenwechsel mehr noetig; Wahl gilt
  per Disc-Fingerabdruck weiter 30 Tage
- Einstellungen -> Worker: verbundene Encoding-Maschinen mit ECHTER
  Erreichbarkeit (Celery-Ping + minuetlicher Herzschlag/last_seen),
  Encoder-Badges, Copy-Paste-Anbindung fuer neue Maschinen
  (Linux/Docker + Docker Desktop; SSH-Ein-Klick als Ausbaustufe)
- JSX-0-Falle gefixt: {0 && ...} renderte nackte "0" unter GENRE/LAUFZEIT
- ruff.toml: Regelsatz gepinnt — lokal aktualisierte Ruff-Version zog
  ploetzlich Stilregeln und faerbte den Baum rot; Ampel und lokal
  urteilen jetzt identisch

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Hitonabi
2026-07-24 08:18:44 +02:00
parent 6b7d391737
commit 6517644d1f
8 changed files with 358 additions and 19 deletions
+18 -6
View File
@@ -31,9 +31,21 @@ import db # noqa: E402
@worker_ready.connect
def melde_faehigkeiten(**kwargs):
"""Beim Start: eigene Encoder-Fähigkeiten in die DB melden (UI-Anzeige)."""
try:
db.init_db()
db.save_worker(socket.gethostname(), caps.erkenne_encoder())
except Exception as e: # DB noch nicht da → nicht den Start verhindern
print(f"Fähigkeiten-Meldung fehlgeschlagen: {e}")
"""Beim Start + minütlich: Encoder-Fähigkeiten und Lebenszeichen melden.
last_seen ist die Basis der Erreichbarkeits-Anzeige im UI — ein Worker,
der sich 2 Minuten nicht meldet, gilt als offline.
"""
import threading
import time
def herzschlag():
while True:
try:
db.init_db()
db.save_worker(socket.gethostname(), caps.erkenne_encoder())
except Exception as e: # DB weg → weiterversuchen, nicht sterben
print(f"Fähigkeiten-Meldung fehlgeschlagen: {e}")
time.sleep(60)
threading.Thread(target=herzschlag, daemon=True, name="worker-herzschlag").start()