@blockrun/franklin 3.15.45 → 3.15.47
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/commands/task.js +23 -3
- package/package.json +1 -1
package/dist/commands/task.js
CHANGED
|
@@ -36,7 +36,18 @@ export function buildTaskCommand() {
|
|
|
36
36
|
}
|
|
37
37
|
const now = Date.now();
|
|
38
38
|
for (const t of tasks) {
|
|
39
|
-
|
|
39
|
+
// For a running task, "age" should mean "how long has this been
|
|
40
|
+
// going" — use startedAt (or createdAt). For a terminal task,
|
|
41
|
+
// "age" should mean "how recently did this end" — use endedAt
|
|
42
|
+
// (or lastEventAt). Verified 2026-05-04 on a real machine: a
|
|
43
|
+
// running ETL that had been chewing through 685k files for
|
|
44
|
+
// 13 minutes was displayed as "0s" because the runner's 5s
|
|
45
|
+
// heartbeat keeps lastEventAt fresh — useless signal.
|
|
46
|
+
const isTerminal = isTerminalTaskStatus(t.status);
|
|
47
|
+
const ageRefMs = isTerminal
|
|
48
|
+
? (t.endedAt ?? t.lastEventAt ?? t.createdAt)
|
|
49
|
+
: (t.startedAt ?? t.createdAt);
|
|
50
|
+
const age = fmtAge(now - ageRefMs);
|
|
40
51
|
console.log(`${t.runId} ${t.status.padEnd(10)} ${age.padStart(5)} ${t.label}`);
|
|
41
52
|
}
|
|
42
53
|
});
|
|
@@ -76,8 +87,17 @@ export function buildTaskCommand() {
|
|
|
76
87
|
const meta = readTaskMeta(runId);
|
|
77
88
|
if (meta) {
|
|
78
89
|
console.log(`\n--- ${meta.status} ---`);
|
|
79
|
-
|
|
80
|
-
|
|
90
|
+
// Don't reprint terminalSummary: it's a whitespace-collapsed
|
|
91
|
+
// copy of the last ~800 bytes of the log, and we just printed
|
|
92
|
+
// the FULL log via printNew(). Verified 2026-05-04 on a real
|
|
93
|
+
// failed task: the user saw the same lines twice, the second
|
|
94
|
+
// copy as one squashed line, e.g.
|
|
95
|
+
// [17:43:40] resume state: ... [17:43:40] manifest cached: ...
|
|
96
|
+
// which is harder to read than the multi-line original.
|
|
97
|
+
// exitCode is the only useful extra here (the log doesn't
|
|
98
|
+
// record it explicitly).
|
|
99
|
+
if (meta.exitCode !== undefined)
|
|
100
|
+
console.log(`exitCode: ${meta.exitCode}`);
|
|
81
101
|
}
|
|
82
102
|
});
|
|
83
103
|
cmd
|
package/package.json
CHANGED