Add a Time column showing how long each job took
This commit is contained in:
@@ -1483,6 +1483,7 @@ def run_job(s):
|
||||
"job_id": job_id,
|
||||
"profile": s["name"],
|
||||
"started": datetime.now().strftime("%Y-%m-%d %H:%M"),
|
||||
"started_ts": int(datetime.now().timestamp()),
|
||||
"source_id": src["id"],
|
||||
"source_title": src["title"],
|
||||
"status": "running",
|
||||
@@ -1589,14 +1590,14 @@ def run_job(s):
|
||||
c.unlink(missing_ok=True)
|
||||
set_stage("moving files")
|
||||
location = finish_files(s, job_dir, job_id)
|
||||
update_history(job_id, status="review" if held else "published", youtube_id=vid, location=location)
|
||||
update_history(job_id, status="review" if held else "published", youtube_id=vid, location=location, finished_ts=int(datetime.now().timestamp()))
|
||||
set_stage("job complete", step=status["steps"])
|
||||
except Cancelled:
|
||||
update_history(job_id, status="cancelled")
|
||||
update_history(job_id, status="cancelled", finished_ts=int(datetime.now().timestamp()))
|
||||
logger.warning("Job %s cancelled", job_id)
|
||||
raise
|
||||
except Exception as e:
|
||||
update_history(job_id, status="failed", error=str(e)[:300])
|
||||
update_history(job_id, status="failed", error=str(e)[:300], finished_ts=int(datetime.now().timestamp()))
|
||||
raise
|
||||
finally:
|
||||
if compliance and not finalized and job_dir.exists():
|
||||
@@ -1669,6 +1670,7 @@ def api_status():
|
||||
"storage_free_gb": round(free, 1) if free is not None else None,
|
||||
"delete_after_publish": s["delete_after_publish"],
|
||||
"history": st["history"][:25],
|
||||
"now": int(datetime.now().timestamp()),
|
||||
}
|
||||
|
||||
|
||||
|
||||
+2
-1
@@ -246,7 +246,8 @@ $("#pg-meta").textContent=pct+"% | step "+s.step+" of "+s.steps+(s.elapsed?" | "
|
||||
}else{panel.style.display="none"}
|
||||
const lb=$("#link");lb.textContent=s.channel?"Unlink YouTube Channel":"Link YouTube Channel";lb.dataset.linked=s.channel?"1":"";
|
||||
setButton(s.running);
|
||||
$("#jobs").innerHTML="<tr><th>Started</th><th>Profile</th><th>Source</th><th>Title</th><th>Status</th><th>Video</th></tr>"+s.history.map(h=>`<tr><td>${esc(h.started)}</td><td>${esc(h.profile)}</td><td><a target="_blank" href="https://youtube.com/watch?v=${esc(h.source_id)}">${esc(h.source_title)}</a></td><td>${esc(h.title)}</td><td><span class="pill ${esc(h.status)}">${h.status==="review"?"private, needs review":esc(h.status)}</span>${h.notes?`<div class="hint notes">Reviewer notes: ${esc(h.notes)}</div>`:""}${h.error?`<div class="hint">${esc(h.error)}</div>`:""}${h.location?`<div class="hint">${esc(h.location)}</div>`:""}</td><td>${h.youtube_id?`<a target="_blank" href="https://studio.youtube.com/video/${esc(h.youtube_id)}/edit">studio</a> <a target="_blank" href="https://youtube.com/shorts/${esc(h.youtube_id)}">open</a>`:""}</td></tr>`).join("")
|
||||
const dur=h=>{if(!h.started_ts)return"";const end=h.finished_ts||(h.status==="running"?s.now:0);if(!end)return"";const d=Math.max(0,end-h.started_ts);const m=Math.floor(d/60),sec=d%60;return(m?m+"m ":"")+sec+"s"};
|
||||
$("#jobs").innerHTML="<tr><th>Started</th><th>Time</th><th>Profile</th><th>Source</th><th>Title</th><th>Status</th><th>Video</th></tr>"+s.history.map(h=>`<tr><td>${esc(h.started)}</td><td style="white-space:nowrap">${esc(dur(h))}</td><td>${esc(h.profile)}</td><td><a target="_blank" href="https://youtube.com/watch?v=${esc(h.source_id)}">${esc(h.source_title)}</a></td><td>${esc(h.title)}</td><td><span class="pill ${esc(h.status)}">${h.status==="review"?"private, needs review":esc(h.status)}</span>${h.notes?`<div class="hint notes">Reviewer notes: ${esc(h.notes)}</div>`:""}${h.error?`<div class="hint">${esc(h.error)}</div>`:""}${h.location?`<div class="hint">${esc(h.location)}</div>`:""}</td><td>${h.youtube_id?`<a target="_blank" href="https://studio.youtube.com/video/${esc(h.youtube_id)}/edit">studio</a> <a target="_blank" href="https://youtube.com/shorts/${esc(h.youtube_id)}">open</a>`:""}</td></tr>`).join("")
|
||||
}catch(e){}}
|
||||
let since=0;
|
||||
async function pollLogs(){
|
||||
|
||||
Reference in New Issue
Block a user