Serialize walks and backfill, split the ETA into start and run

This commit is contained in:
Fisto
2026-09-17 10:15:15 +02:00
parent 5b8e78940a
commit 7bbb45b79b
5 changed files with 212 additions and 17 deletions
+5
View File
@@ -745,3 +745,8 @@
background: color-mix(in srgb, var(--color-neutral-400) 18%, transparent);
color: var(--color-neutral-300);
}
.vk-bot-eta {
cursor: help;
text-decoration: underline dotted color-mix(in srgb, var(--color-neutral-400) 60%, transparent);
}
+23 -7
View File
@@ -552,6 +552,15 @@
const bot = backend.slopbot ?? { pending: 0, cached: 0, failed: 0, total: 0 };
const puppet = backend.puppet ?? { pending: 0, cached: 0, failed: 0, total: 0 };
const etaLine = el(
"div",
"vk-bot-summary-line vk-bot-eta",
`ETA ${formatEta(totals.etaTotalMs ?? totals.etaMs)} at ${totals.perMinute ?? 0} rows/min ` +
`(settings estimate ${status.estimatedPerMinute ?? 0}/min)`
);
etaLine.title =
`first job starts now \u00b7 queue drains in ${formatEta(totals.etaRunMs ?? totals.etaMs)}`;
backfillSummary.replaceChildren(
el(
"div",
@@ -560,12 +569,7 @@
`${totals.failed ?? 0} failed \u00b7 ${totals.downloaded ?? 0} downloaded \u00b7 ` +
`${formatBytes(totals.bytes ?? 0)} stored`
),
el(
"div",
"vk-bot-summary-line",
`ETA ${formatEta(totals.etaMs)} at ${totals.perMinute ?? 0} rows/min ` +
`(settings estimate ${status.estimatedPerMinute ?? 0}/min)`
),
etaLine,
el(
"div",
"vk-bot-summary-line vk-dim",
@@ -590,8 +594,20 @@
const parts = [`${job.pending} pending`];
if (job.cached) parts.push(`${job.cached} cached`);
if (job.failed) parts.push(`${job.failed} failed`);
if (job.pending > 0) parts.push(`ETA ${formatEta(job.etaMs)}`);
head.append(el("span", "vk-bot-job-meta", parts.join(" \u00b7 ")));
if (job.pending > 0) {
const eta = el(
"span",
"vk-bot-job-meta vk-bot-eta",
`ETA ${formatEta(job.etaTotalMs ?? job.etaMs)}`
);
eta.title =
`starts in ${formatEta(job.etaStartMs ?? 0)} \u00b7 ` +
`runs for ${formatEta(job.etaRunMs ?? job.etaMs)}`;
head.append(eta);
}
row.append(head);
for (const member of job.members) {