diff --git a/services/web-ui/public/jobs.html b/services/web-ui/public/jobs.html index 4b61829..6f142fd 100644 --- a/services/web-ui/public/jobs.html +++ b/services/web-ui/public/jobs.html @@ -670,6 +670,10 @@ function renderRow(job) { const dur = formatDuration(job.started_at, job.completed_at || job.failed_at); + const retryBtn = (job.status === 'failed' && job.asset_id) + ? `` + : ''; + tr.innerHTML = ` ${escHtml((job.type || 'conform').toUpperCase())} @@ -690,6 +694,7 @@ function renderRow(job) { ${dur} + ${retryBtn} `; @@ -708,6 +713,17 @@ async function killJob(jobId, ev) { } } +async function retryJob(assetId, ev) { + ev.stopPropagation(); + try { + await api('/assets/' + encodeURIComponent(assetId) + '/retry', { method: 'POST' }); + toast('Job re-queued — processing will restart shortly.'); + loadJobs(); + } catch (e) { + showError('Retry failed: ' + e.message); + } +} + function statusBadge(status) { const map = { active: 'Active', @@ -792,6 +808,13 @@ function openDetail(jobId) { + ${job.status === 'failed' && job.asset_id ? ` +
+ +
` : ''} + ${job.error ? `
Error