@fnndsc/salsa 3.9.0 → 3.10.0
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/dag/feedGraph.d.ts +4 -0
- package/dist/dag/feedGraph.js +3 -0
- package/dist/dag/feedGraph.js.map +1 -1
- package/dist/dag/feedJoins.d.ts +9 -0
- package/dist/dag/feedJoins.js +15 -0
- package/dist/dag/feedJoins.js.map +1 -1
- package/dist/dag/feedLoad.js +22 -3
- package/dist/dag/feedLoad.js.map +1 -1
- package/dist/pipelines/diagram.js +56 -2
- package/dist/pipelines/diagram.js.map +1 -1
- package/dist/pipelines/index.d.ts +29 -0
- package/dist/pipelines/index.js +33 -1
- package/dist/pipelines/index.js.map +1 -1
- package/dist/pipelines/packages.d.ts +44 -0
- package/dist/pipelines/packages.js +181 -0
- package/dist/pipelines/packages.js.map +1 -0
- package/dist/retrieve/watch.d.ts +16 -2
- package/dist/retrieve/watch.js +124 -54
- package/dist/retrieve/watch.js.map +1 -1
- package/dist/vfs/dispatcher.js +9 -0
- package/dist/vfs/dispatcher.js.map +1 -1
- package/dist/vfs/providers/proc.d.ts +14 -0
- package/dist/vfs/providers/proc.js +98 -3
- package/dist/vfs/providers/proc.js.map +1 -1
- package/dist/vfs/providers/share.d.ts +65 -0
- package/dist/vfs/providers/share.js +227 -0
- package/dist/vfs/providers/share.js.map +1 -0
- package/dist/vfs/providers/tags.d.ts +30 -0
- package/dist/vfs/providers/tags.js +86 -0
- package/dist/vfs/providers/tags.js.map +1 -0
- package/dist/vfs/providers/workflows.d.ts +60 -0
- package/dist/vfs/providers/workflows.js +172 -0
- package/dist/vfs/providers/workflows.js.map +1 -0
- package/package.json +2 -2
package/dist/retrieve/watch.d.ts
CHANGED
|
@@ -1,6 +1,15 @@
|
|
|
1
1
|
import { type Client } from '@fnndsc/cumin';
|
|
2
|
-
/**
|
|
3
|
-
|
|
2
|
+
/**
|
|
3
|
+
* Lifecycle states of one series retrieve.
|
|
4
|
+
*
|
|
5
|
+
* `unconfirmed` is the state of a series the client stopped watching before it
|
|
6
|
+
* could see the end. It is not a failure: the PACS keeps pushing and CUBE keeps
|
|
7
|
+
* registering after a watch ends, so the retrieve is very likely still running
|
|
8
|
+
* or already done. Reporting such a series as `error` claims knowledge the
|
|
9
|
+
* client does not have, and a caller that treats it as failure will tell an
|
|
10
|
+
* operator that nothing arrived while the files land behind them.
|
|
11
|
+
*/
|
|
12
|
+
export type RetrieveStatus = 'pending' | 'pulling' | 'pulled' | 'stalled' | 'timeout' | 'error' | 'unfired' | 'unconfirmed';
|
|
4
13
|
/** Progress classification reported to event consumers. */
|
|
5
14
|
export type RetrieveProgressStatus = 'running' | 'done' | 'unconfirmed' | 'error' | 'stalled' | 'timeout';
|
|
6
15
|
/**
|
|
@@ -46,6 +55,11 @@ export interface RetrieveTask {
|
|
|
46
55
|
export interface RetrieveWatchEvents {
|
|
47
56
|
task?: (task: RetrieveTask, status: RetrieveProgressStatus, phase: 'watching' | 'retrying') => void;
|
|
48
57
|
retryRound?: (attempt: number, retryMax: number, count: number) => void;
|
|
58
|
+
/**
|
|
59
|
+
* The watch socket dropped and is being reopened. Reported because a silent
|
|
60
|
+
* reconnection during a long pull looks identical to a stall.
|
|
61
|
+
*/
|
|
62
|
+
reconnect?: (attempt: number, maxAttempts: number, watching: number) => void;
|
|
49
63
|
}
|
|
50
64
|
/**
|
|
51
65
|
* Builds a fresh retrieve task from series identity facts.
|
package/dist/retrieve/watch.js
CHANGED
|
@@ -35,6 +35,14 @@ const FIRE_CONCURRENCY = 4;
|
|
|
35
35
|
/** Retry attempts for one retrieve creation, with backoff between them. */
|
|
36
36
|
const FIRE_ATTEMPTS = 3;
|
|
37
37
|
const FIRE_BACKOFF_MS = [250, 500];
|
|
38
|
+
/**
|
|
39
|
+
* Reconnection attempts for a dropped LONK socket.
|
|
40
|
+
*
|
|
41
|
+
* A long retrieve gives a socket more chances to die, which is why a large
|
|
42
|
+
* study failed where a small one did not. The retrieves are unaffected by the
|
|
43
|
+
* loss, so reconnecting resumes reporting rather than repeating work.
|
|
44
|
+
*/
|
|
45
|
+
const WATCH_RECONNECT_ATTEMPTS = 3;
|
|
38
46
|
const STALL_TIMEOUT_MS = 30_000;
|
|
39
47
|
const NO_ACTIVITY_TIMEOUT_MS = 15_000;
|
|
40
48
|
const SERIES_TIMEOUT_MS = 5 * 60 * 1_000;
|
|
@@ -194,14 +202,26 @@ async function retrieve_fireAndWatch(tasks, pacsserver, client, events = {}, pha
|
|
|
194
202
|
events.task?.(task, status ?? retrieveProgress_classify(task), phase);
|
|
195
203
|
};
|
|
196
204
|
const downloadToken = await (0, cumin_1.downloadToken_create)(client);
|
|
197
|
-
const
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
+
const lonkUrl = lonkWsUrl_build(downloadToken.url, downloadToken.token);
|
|
206
|
+
/**
|
|
207
|
+
* Opens a LONK socket and subscribes it to the series given.
|
|
208
|
+
*
|
|
209
|
+
* A reconnect subscribes only what is still in flight: the retrieves are
|
|
210
|
+
* already running on the server, so re-firing them would duplicate work that
|
|
211
|
+
* was never lost.
|
|
212
|
+
*/
|
|
213
|
+
const socket_open = async (subscribe) => {
|
|
214
|
+
const socket = new ws_1.default(lonkUrl);
|
|
215
|
+
await new Promise((openResolve, openReject) => {
|
|
216
|
+
socket.once('open', openResolve);
|
|
217
|
+
socket.once('error', (err) => openReject(err));
|
|
218
|
+
});
|
|
219
|
+
for (const t of subscribe) {
|
|
220
|
+
socket.send(JSON.stringify({ SeriesInstanceUID: t.seriesUID, pacs_name: t.pacsName, action: 'subscribe' }));
|
|
221
|
+
}
|
|
222
|
+
return socket;
|
|
223
|
+
};
|
|
224
|
+
let ws = await socket_open(tasks);
|
|
205
225
|
await tasks_fireBounded(tasks, pacsserver);
|
|
206
226
|
const fired = tasks.filter((t) => t.status !== 'unfired');
|
|
207
227
|
const firingErrors = tasks.length - fired.length;
|
|
@@ -219,6 +239,7 @@ async function retrieve_fireAndWatch(tasks, pacsserver, client, events = {}, pha
|
|
|
219
239
|
const taskByUID = new Map(tasks.map((t) => [t.seriesUID, t]));
|
|
220
240
|
await new Promise((resolve) => {
|
|
221
241
|
let resolved = false;
|
|
242
|
+
let reconnectsLeft = WATCH_RECONNECT_ATTEMPTS;
|
|
222
243
|
const done = () => {
|
|
223
244
|
if (resolved)
|
|
224
245
|
return;
|
|
@@ -230,11 +251,54 @@ async function retrieve_fireAndWatch(tasks, pacsserver, client, events = {}, pha
|
|
|
230
251
|
catch { /* best-effort socket cleanup */ }
|
|
231
252
|
resolve();
|
|
232
253
|
};
|
|
254
|
+
/** The series this watch is still waiting on. */
|
|
255
|
+
const inFlight = () => fired.filter((t) => t.status === 'pending' || t.status === 'pulling');
|
|
256
|
+
/**
|
|
257
|
+
* Replaces a dead socket, or gives up and records what is unknown.
|
|
258
|
+
*
|
|
259
|
+
* A LONK socket carries no state a client cannot rebuild: the retrieves run
|
|
260
|
+
* on the server regardless, and a fresh subscription resumes reporting on
|
|
261
|
+
* them. Only when reconnection is exhausted does the watch admit it stopped
|
|
262
|
+
* looking — and even then it says so rather than calling the retrieves
|
|
263
|
+
* failed.
|
|
264
|
+
*/
|
|
265
|
+
const socket_replace = () => {
|
|
266
|
+
if (resolved)
|
|
267
|
+
return;
|
|
268
|
+
const remaining = inFlight();
|
|
269
|
+
if (remaining.length === 0) {
|
|
270
|
+
done();
|
|
271
|
+
return;
|
|
272
|
+
}
|
|
273
|
+
if (reconnectsLeft <= 0) {
|
|
274
|
+
for (const t of remaining) {
|
|
275
|
+
t.status = 'unconfirmed';
|
|
276
|
+
emit(t, 'unconfirmed');
|
|
277
|
+
}
|
|
278
|
+
done();
|
|
279
|
+
return;
|
|
280
|
+
}
|
|
281
|
+
reconnectsLeft -= 1;
|
|
282
|
+
events.reconnect?.(WATCH_RECONNECT_ATTEMPTS - reconnectsLeft, WATCH_RECONNECT_ATTEMPTS, remaining.length);
|
|
283
|
+
void socket_open(remaining)
|
|
284
|
+
.then((replacement) => {
|
|
285
|
+
if (resolved) {
|
|
286
|
+
try {
|
|
287
|
+
replacement.close();
|
|
288
|
+
}
|
|
289
|
+
catch { /* the watch already ended */ }
|
|
290
|
+
return;
|
|
291
|
+
}
|
|
292
|
+
ws = replacement;
|
|
293
|
+
socket_listen();
|
|
294
|
+
})
|
|
295
|
+
.catch(() => socket_replace());
|
|
296
|
+
};
|
|
233
297
|
const checker = setInterval(() => {
|
|
234
298
|
const now = Date.now();
|
|
235
299
|
let allTerminal = true;
|
|
236
300
|
for (const t of fired) {
|
|
237
|
-
if (t.status === 'pulled' || t.status === 'error' || t.status === 'unfired' || t.status === 'stalled' || t.status === 'timeout') {
|
|
301
|
+
if (t.status === 'pulled' || t.status === 'error' || t.status === 'unfired' || t.status === 'stalled' || t.status === 'timeout' || t.status === 'unconfirmed') {
|
|
238
302
|
continue;
|
|
239
303
|
}
|
|
240
304
|
allTerminal = false;
|
|
@@ -258,52 +322,51 @@ async function retrieve_fireAndWatch(tasks, pacsserver, client, events = {}, pha
|
|
|
258
322
|
if (allTerminal)
|
|
259
323
|
done();
|
|
260
324
|
}, CHECKER_INTERVAL_MS);
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
t.
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
t.
|
|
285
|
-
|
|
325
|
+
/** Attaches this watch's handlers to whichever socket is current. */
|
|
326
|
+
const socket_listen = () => {
|
|
327
|
+
ws.on('message', (data) => {
|
|
328
|
+
try {
|
|
329
|
+
const outer = JSON.parse(data.toString());
|
|
330
|
+
const seriesUID = outer.SeriesInstanceUID;
|
|
331
|
+
const message = outer.message;
|
|
332
|
+
if (!seriesUID || !message)
|
|
333
|
+
return;
|
|
334
|
+
const t = taskByUID.get(seriesUID);
|
|
335
|
+
if (!t)
|
|
336
|
+
return;
|
|
337
|
+
if ('ndicom' in message && typeof message.ndicom === 'number') {
|
|
338
|
+
const n = message.ndicom;
|
|
339
|
+
t.actualFiles = n;
|
|
340
|
+
t.lastProgressFiles = n;
|
|
341
|
+
t.lastProgressTime = Date.now();
|
|
342
|
+
if (t.status === 'pending')
|
|
343
|
+
t.status = 'pulling';
|
|
344
|
+
emit(t, 'running');
|
|
345
|
+
}
|
|
346
|
+
else if ('done' in message && message.done === true) {
|
|
347
|
+
t.status = 'pulled';
|
|
348
|
+
t.lonkConfirmed = true;
|
|
349
|
+
if (t.actualFiles < t.expectedFiles)
|
|
350
|
+
t.actualFiles = t.expectedFiles;
|
|
351
|
+
emit(t, 'done');
|
|
352
|
+
}
|
|
353
|
+
else if ('error' in message && typeof message.error === 'string') {
|
|
354
|
+
t.status = 'error';
|
|
355
|
+
emit(t, 'error');
|
|
356
|
+
}
|
|
286
357
|
}
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
358
|
+
catch {
|
|
359
|
+
// Deliberate absorption: a malformed LONK frame carries no correlation
|
|
360
|
+
// to fail; the checker's stall/timeout guards still bound the watch.
|
|
290
361
|
}
|
|
291
|
-
}
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
}
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
if (t.status === 'pending' || t.status === 'pulling') {
|
|
300
|
-
t.status = 'error';
|
|
301
|
-
emit(t, 'error');
|
|
302
|
-
}
|
|
303
|
-
}
|
|
304
|
-
done();
|
|
305
|
-
});
|
|
306
|
-
ws.on('close', () => { done(); });
|
|
362
|
+
});
|
|
363
|
+
// A dead socket is a lost view, not a lost retrieve: reconnect and keep
|
|
364
|
+
// watching. Only when that fails repeatedly does the watch stop, and even
|
|
365
|
+
// then it records what it no longer knows rather than declaring failure.
|
|
366
|
+
ws.on('error', () => { socket_replace(); });
|
|
367
|
+
ws.on('close', () => { socket_replace(); });
|
|
368
|
+
};
|
|
369
|
+
socket_listen();
|
|
307
370
|
});
|
|
308
371
|
return firingErrors;
|
|
309
372
|
}
|
|
@@ -322,13 +385,20 @@ async function retrieve_fireAndWatch(tasks, pacsserver, client, events = {}, pha
|
|
|
322
385
|
*/
|
|
323
386
|
async function retrieve_confirmLoop(allTasks, retryMax, pacsserver, client, events = {}) {
|
|
324
387
|
let extraFiringErrors = 0;
|
|
325
|
-
|
|
388
|
+
// A series the watch lost sight of is a candidate for exactly the same
|
|
389
|
+
// treatment as one whose confirmation went missing: ask CUBE. Both are
|
|
390
|
+
// "we did not see the end", and CUBE is the only thing that knows.
|
|
391
|
+
let retryCandidates = allTasks.filter((t) => (t.status === 'pulled' && !t.lonkConfirmed) || t.status === 'unconfirmed');
|
|
326
392
|
for (let attempt = 1; attempt <= retryMax && retryCandidates.length > 0; attempt++) {
|
|
327
393
|
await Promise.all(retryCandidates.map(async (t) => {
|
|
328
394
|
const stateResult = await (0, cumin_1.seriesStorage_resolve)(t.seriesUID);
|
|
329
395
|
if (stateResult.ok && stateResult.value.folderPath !== null) {
|
|
330
396
|
t.lonkConfirmed = true;
|
|
331
397
|
t.cubePathDir = stateResult.value.folderPath;
|
|
398
|
+
// A series found in CUBE arrived, whatever the watch managed to see.
|
|
399
|
+
t.status = 'pulled';
|
|
400
|
+
t.actualFiles = stateResult.value.fileCount;
|
|
401
|
+
events.task?.(t, 'done', 'retrying');
|
|
332
402
|
}
|
|
333
403
|
}));
|
|
334
404
|
retryCandidates = retryCandidates.filter((t) => !t.lonkConfirmed);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"watch.js","sourceRoot":"","sources":["../../src/retrieve/watch.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"watch.js","sourceRoot":"","sources":["../../src/retrieve/watch.ts"],"names":[],"mappings":"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"}
|
package/dist/vfs/dispatcher.js
CHANGED
|
@@ -14,6 +14,9 @@ const native_js_1 = require("./providers/native.js");
|
|
|
14
14
|
const pacs_js_1 = require("./providers/pacs.js");
|
|
15
15
|
const etc_js_1 = require("./providers/etc.js");
|
|
16
16
|
const proc_js_1 = require("./providers/proc.js");
|
|
17
|
+
const workflows_js_1 = require("./providers/workflows.js");
|
|
18
|
+
const tags_js_1 = require("./providers/tags.js");
|
|
19
|
+
const share_js_1 = require("./providers/share.js");
|
|
17
20
|
/**
|
|
18
21
|
* Registry and dispatcher routing filesystem commands to matched VFS providers.
|
|
19
22
|
*/
|
|
@@ -29,6 +32,12 @@ class VFSDispatcher {
|
|
|
29
32
|
this.provider_register(new pacs_js_1.PacsVfsProvider());
|
|
30
33
|
this.provider_register(new etc_js_1.EtcVfsProvider());
|
|
31
34
|
this.provider_register(new proc_js_1.ProcVfsProvider());
|
|
35
|
+
// Three relations CUBE owns and the namespace did not reach: the tags a
|
|
36
|
+
// feed can carry, the runs a pipeline produced, and what is known about a
|
|
37
|
+
// plugin as opposed to how to invoke it.
|
|
38
|
+
this.provider_register(new workflows_js_1.WorkflowsVfsProvider());
|
|
39
|
+
this.provider_register(new tags_js_1.TagsVfsProvider());
|
|
40
|
+
this.provider_register(new share_js_1.ShareVfsProvider());
|
|
32
41
|
}
|
|
33
42
|
/**
|
|
34
43
|
* Registers a path resolution hook that maps logical paths to physical paths.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dispatcher.js","sourceRoot":"","sources":["../../src/vfs/dispatcher.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;AAEH,yCAA4D;AAE5D,qDAA0D;AAC1D,iDAAsD;AACtD,+CAAoD;AACpD,iDAAsD;
|
|
1
|
+
{"version":3,"file":"dispatcher.js","sourceRoot":"","sources":["../../src/vfs/dispatcher.ts"],"names":[],"mappings":"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"}
|
|
@@ -37,6 +37,12 @@ export declare function procPath_parse(pathStr: string): {
|
|
|
37
37
|
feedID: number | null;
|
|
38
38
|
instanceID: number | null;
|
|
39
39
|
virtualFile: string | null;
|
|
40
|
+
/**
|
|
41
|
+
* Set when the path descends THROUGH an instance's `data` link: the
|
|
42
|
+
* portion after `data`, '' for the link itself. Everything under the
|
|
43
|
+
* link belongs to the link's CFS target, not to `/proc`.
|
|
44
|
+
*/
|
|
45
|
+
dataRemainder: string | null;
|
|
40
46
|
};
|
|
41
47
|
/**
|
|
42
48
|
* VFS provider exposing running jobs and feeds under the /proc namespace.
|
|
@@ -56,6 +62,14 @@ export declare class ProcVfsProvider implements VFSProvider {
|
|
|
56
62
|
sort?: 'name' | 'size' | 'date' | 'owner';
|
|
57
63
|
reverse?: boolean;
|
|
58
64
|
}): Promise<Result<VFSItem[]>>;
|
|
65
|
+
/**
|
|
66
|
+
* Binary bytes exist only under the `data` link (an image in a job's
|
|
67
|
+
* output space); everything else in `/proc` is synthesized text.
|
|
68
|
+
*
|
|
69
|
+
* @param pathStr - Absolute `/proc/jobs/.../data/...` path.
|
|
70
|
+
* @returns The target file's bytes.
|
|
71
|
+
*/
|
|
72
|
+
readBinary(pathStr: string): Promise<Result<Buffer>>;
|
|
59
73
|
read(pathStr: string): Promise<Result<string>>;
|
|
60
74
|
rm(pathStr: string, _options?: {
|
|
61
75
|
recursive?: boolean;
|
|
@@ -28,6 +28,8 @@ exports.procTopology_await = procTopology_await;
|
|
|
28
28
|
exports.procCache_refresh = procCache_refresh;
|
|
29
29
|
const cumin_1 = require("@fnndsc/cumin");
|
|
30
30
|
const index_js_1 = require("../../jobs/index.js");
|
|
31
|
+
const feedJoins_js_1 = require("../../dag/feedJoins.js");
|
|
32
|
+
const packages_js_1 = require("../../pipelines/packages.js");
|
|
31
33
|
/** Virtual filenames inside each instance directory. */
|
|
32
34
|
const INSTANCE_FILES = new Set(['status', 'params', 'log', 'data']);
|
|
33
35
|
/** Virtual filenames inside each feed directory. */
|
|
@@ -94,6 +96,14 @@ async function cache_ensure() {
|
|
|
94
96
|
* Loads instance topology for a single feed.
|
|
95
97
|
* Uses in-flight map to prevent duplicate API calls.
|
|
96
98
|
*/
|
|
99
|
+
/** Pulls the execution metrics a CUBE list row carries, defined-only. */
|
|
100
|
+
function instanceMetrics_fromRow(inst) {
|
|
101
|
+
return {
|
|
102
|
+
...(typeof inst.start_date === 'string' ? { startedAt: inst.start_date } : {}),
|
|
103
|
+
...(typeof inst.end_date === 'string' ? { finishedAt: inst.end_date } : {}),
|
|
104
|
+
...(typeof inst.size === 'number' ? { outputBytes: inst.size } : {}),
|
|
105
|
+
};
|
|
106
|
+
}
|
|
97
107
|
async function feedInstances_load(feedID) {
|
|
98
108
|
const cache = (0, cumin_1.procCache_get)();
|
|
99
109
|
const client = await cumin_1.chrisConnection.client_get();
|
|
@@ -117,6 +127,7 @@ async function feedInstances_load(feedID) {
|
|
|
117
127
|
params: null,
|
|
118
128
|
outputPath: outputPath_normalize(inst.output_path) ?? undefined,
|
|
119
129
|
status: String(inst.status ?? 'unknown'),
|
|
130
|
+
...instanceMetrics_fromRow(inst),
|
|
120
131
|
});
|
|
121
132
|
}
|
|
122
133
|
cache.topologyLoaded_mark(feedID);
|
|
@@ -169,11 +180,26 @@ function procPath_parse(pathStr) {
|
|
|
169
180
|
let feedID = null;
|
|
170
181
|
let instanceID = null;
|
|
171
182
|
let virtualFile = null;
|
|
183
|
+
let dataRemainder = null;
|
|
172
184
|
if (parts.length >= 1) {
|
|
173
185
|
const feedMatch = parts[0].match(/^feed_(\d+)$/);
|
|
174
186
|
if (feedMatch)
|
|
175
187
|
feedID = parseInt(feedMatch[1], 10);
|
|
176
188
|
}
|
|
189
|
+
// A `data` segment directly after an instance segment starts the link's
|
|
190
|
+
// subtree: the instance is the one before it, whatever follows is the
|
|
191
|
+
// remainder inside the CFS target.
|
|
192
|
+
for (let index = 2; index < parts.length; index++) {
|
|
193
|
+
if (parts[index] !== 'data')
|
|
194
|
+
continue;
|
|
195
|
+
const instMatch = parts[index - 1].match(/_(\d+)$/);
|
|
196
|
+
if (!instMatch)
|
|
197
|
+
continue;
|
|
198
|
+
instanceID = parseInt(instMatch[1], 10);
|
|
199
|
+
virtualFile = 'data';
|
|
200
|
+
dataRemainder = parts.slice(index + 1).join('/');
|
|
201
|
+
return { feedID, instanceID, virtualFile, dataRemainder };
|
|
202
|
+
}
|
|
177
203
|
if (parts.length >= 2) {
|
|
178
204
|
const lastPart = parts[parts.length - 1];
|
|
179
205
|
if (FEED_FILES.has(lastPart) || INSTANCE_FILES.has(lastPart)) {
|
|
@@ -190,7 +216,7 @@ function procPath_parse(pathStr) {
|
|
|
190
216
|
instanceID = parseInt(instMatch[1], 10);
|
|
191
217
|
}
|
|
192
218
|
}
|
|
193
|
-
return { feedID, instanceID, virtualFile };
|
|
219
|
+
return { feedID, instanceID, virtualFile, dataRemainder };
|
|
194
220
|
}
|
|
195
221
|
/** Formats instance params as key=value lines. */
|
|
196
222
|
function params_render(inst) {
|
|
@@ -218,6 +244,21 @@ function outputPath_normalize(value) {
|
|
|
218
244
|
* @param instanceID - Plugin-instance ID whose output path is needed.
|
|
219
245
|
* @returns Absolute output path, or null when CUBE has not recorded one.
|
|
220
246
|
*/
|
|
247
|
+
/**
|
|
248
|
+
* Resolves a path inside an instance's `data` link to its CFS target.
|
|
249
|
+
*
|
|
250
|
+
* @param instanceID - The instance whose output space the path enters.
|
|
251
|
+
* @param remainder - The path below `data`, '' for the link itself.
|
|
252
|
+
* @returns The absolute CFS path, or Err when the job has no output space.
|
|
253
|
+
*/
|
|
254
|
+
async function dataTarget_resolve(instanceID, remainder) {
|
|
255
|
+
const outputPath = await instanceOutputPath_ensure(instanceID);
|
|
256
|
+
if (!outputPath) {
|
|
257
|
+
cumin_1.errorStack.stack_push('error', `No CFS output path is available for job ${instanceID}`);
|
|
258
|
+
return (0, cumin_1.Err)();
|
|
259
|
+
}
|
|
260
|
+
return (0, cumin_1.Ok)(remainder === '' ? outputPath : `${outputPath}/${remainder}`);
|
|
261
|
+
}
|
|
221
262
|
async function instanceOutputPath_ensure(instanceID) {
|
|
222
263
|
const cache = (0, cumin_1.procCache_get)();
|
|
223
264
|
const inst = cache.instance_get(instanceID);
|
|
@@ -317,7 +358,17 @@ class ProcVfsProvider {
|
|
|
317
358
|
});
|
|
318
359
|
return (0, cumin_1.Ok)(items);
|
|
319
360
|
}
|
|
320
|
-
const { feedID, instanceID } = procPath_parse(clean);
|
|
361
|
+
const { feedID, instanceID, virtualFile, dataRemainder } = procPath_parse(clean);
|
|
362
|
+
// Anything under an instance's `data` link belongs to the link's CFS
|
|
363
|
+
// target: resolve and delegate, so `ls .../data` (and deeper) shows the
|
|
364
|
+
// target's real contents instead of silently re-listing the instance.
|
|
365
|
+
if (instanceID !== null && virtualFile === 'data' && dataRemainder !== null) {
|
|
366
|
+
const target = await dataTarget_resolve(instanceID, dataRemainder);
|
|
367
|
+
if (!target.ok)
|
|
368
|
+
return (0, cumin_1.Err)();
|
|
369
|
+
const { vfsDispatcher } = await import('../dispatcher.js');
|
|
370
|
+
return vfsDispatcher.list(target.value, _options);
|
|
371
|
+
}
|
|
321
372
|
// /proc/jobs/feed_N — list root instances + feed virtual files
|
|
322
373
|
if (feedID !== null && instanceID === null) {
|
|
323
374
|
const wasLoaded = cache.topologyLoaded_has(feedID);
|
|
@@ -391,11 +442,40 @@ class ProcVfsProvider {
|
|
|
391
442
|
}
|
|
392
443
|
return (0, cumin_1.Ok)([]);
|
|
393
444
|
}
|
|
445
|
+
/**
|
|
446
|
+
* Binary bytes exist only under the `data` link (an image in a job's
|
|
447
|
+
* output space); everything else in `/proc` is synthesized text.
|
|
448
|
+
*
|
|
449
|
+
* @param pathStr - Absolute `/proc/jobs/.../data/...` path.
|
|
450
|
+
* @returns The target file's bytes.
|
|
451
|
+
*/
|
|
452
|
+
async readBinary(pathStr) {
|
|
453
|
+
await cache_ensure();
|
|
454
|
+
const clean = pathStr.replace(/\/$/, '');
|
|
455
|
+
const { instanceID, virtualFile, dataRemainder } = procPath_parse(clean);
|
|
456
|
+
if (instanceID === null || virtualFile !== 'data' || dataRemainder === null || dataRemainder === '') {
|
|
457
|
+
cumin_1.errorStack.stack_push('error', `${pathStr} is not a binary file.`);
|
|
458
|
+
return (0, cumin_1.Err)();
|
|
459
|
+
}
|
|
460
|
+
const target = await dataTarget_resolve(instanceID, dataRemainder);
|
|
461
|
+
if (!target.ok)
|
|
462
|
+
return (0, cumin_1.Err)();
|
|
463
|
+
const { vfsDispatcher } = await import('../dispatcher.js');
|
|
464
|
+
return vfsDispatcher.readBinary(target.value);
|
|
465
|
+
}
|
|
394
466
|
async read(pathStr) {
|
|
395
467
|
await cache_ensure();
|
|
396
468
|
const cache = (0, cumin_1.procCache_get)();
|
|
397
469
|
const clean = pathStr.replace(/\/$/, '');
|
|
398
|
-
const { feedID, instanceID, virtualFile } = procPath_parse(clean);
|
|
470
|
+
const { feedID, instanceID, virtualFile, dataRemainder } = procPath_parse(clean);
|
|
471
|
+
// A file under the `data` link is the CFS target's file.
|
|
472
|
+
if (instanceID !== null && virtualFile === 'data' && dataRemainder !== null && dataRemainder !== '') {
|
|
473
|
+
const target = await dataTarget_resolve(instanceID, dataRemainder);
|
|
474
|
+
if (!target.ok)
|
|
475
|
+
return (0, cumin_1.Err)();
|
|
476
|
+
const { vfsDispatcher } = await import('../dispatcher.js');
|
|
477
|
+
return vfsDispatcher.read(target.value);
|
|
478
|
+
}
|
|
399
479
|
// Feed-level virtual files
|
|
400
480
|
if (feedID !== null && instanceID === null && virtualFile !== null) {
|
|
401
481
|
const feed = cache.feed_get(feedID);
|
|
@@ -556,6 +636,7 @@ async function feedStatus_refresh(feedID) {
|
|
|
556
636
|
for await (const step of (0, cumin_1.listPages_walk)((offset, limit) => (0, cumin_1.pluginInstancesPage_get)(client, { feed_id: feedID, limit, offset }), { pageSize: PAGE })) {
|
|
557
637
|
for (const inst of step.items) {
|
|
558
638
|
cache.status_update(Number(inst.id), String(inst.status ?? 'unknown'));
|
|
639
|
+
cache.instanceMetrics_set(Number(inst.id), instanceMetrics_fromRow(inst));
|
|
559
640
|
}
|
|
560
641
|
}
|
|
561
642
|
}
|
|
@@ -606,6 +687,7 @@ async function procTopology_run(state) {
|
|
|
606
687
|
params: null,
|
|
607
688
|
outputPath: outputPath_normalize(inst.output_path) ?? undefined,
|
|
608
689
|
status: String(inst.status ?? 'unknown'),
|
|
690
|
+
...instanceMetrics_fromRow(inst),
|
|
609
691
|
});
|
|
610
692
|
state.seenInstanceIDs.add(instanceID);
|
|
611
693
|
state.seenFeedIDs.add(feedID);
|
|
@@ -655,6 +737,7 @@ function procTopology_start(state) {
|
|
|
655
737
|
if ((0, cumin_1.procCache_get)().warmupComplete) {
|
|
656
738
|
procTopologyFailure = undefined;
|
|
657
739
|
procTopologyResumeState = null;
|
|
740
|
+
procSettlementTails_run();
|
|
658
741
|
}
|
|
659
742
|
else {
|
|
660
743
|
procTopologyFailure = 'the topology sweep ended before the index completed';
|
|
@@ -668,6 +751,17 @@ function procTopology_start(state) {
|
|
|
668
751
|
});
|
|
669
752
|
return sweep;
|
|
670
753
|
}
|
|
754
|
+
/**
|
|
755
|
+
* Kicks the quiet settlement tails once the topology index is complete:
|
|
756
|
+
* every unresolved `ts` join resolves in the background (so first diagrams
|
|
757
|
+
* are pure cache, and the checkpoint persists them), and the pipeline
|
|
758
|
+
* package store sweeps unseen registered pipelines. Both are best-effort —
|
|
759
|
+
* a failure leaves the lazy paths intact.
|
|
760
|
+
*/
|
|
761
|
+
function procSettlementTails_run() {
|
|
762
|
+
void (0, feedJoins_js_1.procJoins_sweep)().catch(() => { });
|
|
763
|
+
void (0, packages_js_1.pipelinePackages_sweep)().catch(() => { });
|
|
764
|
+
}
|
|
671
765
|
/**
|
|
672
766
|
* Runs a feed-scoped topology reconciliation selected after checkpoint restore.
|
|
673
767
|
*
|
|
@@ -680,6 +774,7 @@ async function procTopologyScoped_run(feedIDs) {
|
|
|
680
774
|
for (const feedID of feedIDs)
|
|
681
775
|
await procCache_refresh(feedID);
|
|
682
776
|
cache.warmup_complete();
|
|
777
|
+
procSettlementTails_run();
|
|
683
778
|
}
|
|
684
779
|
/**
|
|
685
780
|
* Starts one scoped reconciliation and retains its targets for `proc retry`.
|