Dashboard-Korrektur-Popup, Worker-Tab mit Live-Ping, Herzschlag, Anzeige-Fixes
Ampel / ampel (push) Failing after 29s
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:
+19
-3
@@ -377,12 +377,28 @@ async def cancel_job(job_id: str):
|
||||
|
||||
@app.get("/capabilities")
|
||||
async def capabilities():
|
||||
"""Welche Encoder sind auf welchen Workern WIRKLICH verfügbar?
|
||||
"""Welche Encoder sind auf welchen Workern WIRKLICH verfügbar — inkl.
|
||||
Live-Erreichbarkeit (Celery-Ping + Herzschlag-Alter).
|
||||
|
||||
Jeder Worker meldet sich beim Start selbst (caps.py) — auch optionale
|
||||
Jeder Worker meldet sich selbst (caps.py, minütlich) — auch optionale
|
||||
Remote-GPU-Worker tauchen hier automatisch auf.
|
||||
"""
|
||||
return {"workers": await asyncio.to_thread(db.list_workers)}
|
||||
def sammle():
|
||||
zeilen = db.list_workers()
|
||||
try:
|
||||
antworten = celery_client.control.ping(timeout=1.0) or []
|
||||
online_namen = {
|
||||
knoten.split("@", 1)[-1]
|
||||
for antwort in antworten
|
||||
for knoten in antwort.keys()
|
||||
}
|
||||
except Exception:
|
||||
online_namen = set()
|
||||
for zeile in zeilen:
|
||||
zeile["online"] = zeile["name"] in online_namen
|
||||
return zeilen
|
||||
|
||||
return {"workers": await asyncio.to_thread(sammle)}
|
||||
|
||||
|
||||
class MountRequest(BaseModel):
|
||||
|
||||
Reference in New Issue
Block a user