fix(diarization-ui): show runtime counter in server-rendered jobs fallback
This commit is contained in:
20
app.py
20
app.py
@@ -728,6 +728,24 @@ def prompt_delete(prompt_id: int):
|
||||
return HTMLResponse("<meta http-equiv='refresh' content='0; url=/prompts'>")
|
||||
|
||||
|
||||
def _fmt_elapsed(start_iso: Optional[str], end_iso: Optional[str] = None) -> str:
|
||||
if not start_iso:
|
||||
return "-"
|
||||
try:
|
||||
s = datetime.fromisoformat(start_iso)
|
||||
e = datetime.fromisoformat(end_iso) if end_iso else datetime.now()
|
||||
sec = max(0, int((e - s).total_seconds()))
|
||||
if sec < 60:
|
||||
return f"{sec}s"
|
||||
m, s2 = divmod(sec, 60)
|
||||
if m < 60:
|
||||
return f"{m}m {s2}s"
|
||||
h, m2 = divmod(m, 60)
|
||||
return f"{h}h {m2}m"
|
||||
except Exception:
|
||||
return "-"
|
||||
|
||||
|
||||
def _jobs_payload(limit: int = 200):
|
||||
with db() as c:
|
||||
jobs = c.execute(
|
||||
@@ -783,7 +801,7 @@ def jobs_page(queued: Optional[int] = None):
|
||||
items = _jobs_payload(200)
|
||||
pre = "".join([
|
||||
(
|
||||
f"<div class='card'><b>Job #{it['id']}</b> [{it['kind']}] · <b>{it['status']}</b><br>"
|
||||
f"<div class='card'><b>Job #{it['id']}</b> [{it['kind']}] · <b>{it['status']}</b> · läuft: {_fmt_elapsed(it.get('started_at') or it.get('created_at'), it.get('finished_at'))}<br>"
|
||||
f"<small>{it['created_at']}</small><br>"
|
||||
f"<div class='row' style='margin-top:8px'>"
|
||||
+ (
|
||||
|
||||
Reference in New Issue
Block a user