@fnndsc/salsa 3.10.0 → 3.11.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/README.md +1 -1
- package/dist/dag/feedLoad.js +7 -24
- package/dist/dag/feedLoad.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +8 -1
- package/dist/index.js.map +1 -1
- package/dist/vfs/providers/native.js +11 -1
- package/dist/vfs/providers/native.js.map +1 -1
- package/dist/vfs/providers/proc.d.ts +68 -6
- package/dist/vfs/providers/proc.js +290 -45
- package/dist/vfs/providers/proc.js.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -140,7 +140,7 @@ Providers implement a common interface: `list(path)` → `Result<VFSItem[]>` and
|
|
|
140
140
|
└── …
|
|
141
141
|
```
|
|
142
142
|
|
|
143
|
-
The cache (`ProcCache` in cumin) holds flat topology maps for O(1) lookup and O(depth) path reconstruction. The daemon restores this normalized graph from an identity-scoped local checkpoint, validates visible feeds, then reconciles only new, changed, and active feeds; `proc refresh` explicitly runs the paginated global CUBE sweep. Terminal status persists; active status remains live. `params` reads the complete `PluginInstance.parameters` collection, rather than instance-detail metadata. Logs remain uncached: ChELL decodes CUBE's base64/zlib-compressed `PluginInstance.raw` response and reads `compute.logs`; it never fetches from a spoke.
|
|
143
|
+
The cache (`ProcCache` in cumin) holds flat topology maps for O(1) lookup and O(depth) path reconstruction. The daemon restores this normalized graph from an identity-scoped local checkpoint, validates visible feeds, then reconciles only new, changed, and active feeds; `proc refresh` explicitly runs the paginated global CUBE sweep. Terminal status persists; active status remains live. Freshness is visit-driven: revisiting a feed merges the nodes created or finished since the last visit (`min_end_date` from a per-feed cursor) and re-sweeps the active ones, a settled feed is re-checked at most once per ten minutes, and a `/proc/jobs` visit picks up feeds newer than the highest known id (walking the whole index once the roster is ten minutes old). `params` reads the complete `PluginInstance.parameters` collection, rather than instance-detail metadata. Logs remain uncached: ChELL decodes CUBE's base64/zlib-compressed `PluginInstance.raw` response and reads `compute.logs`; it never fetches from a spoke.
|
|
144
144
|
|
|
145
145
|
## Development
|
|
146
146
|
|
package/dist/dag/feedLoad.js
CHANGED
|
@@ -9,8 +9,9 @@ exports.feedGraphData_ensure = feedGraphData_ensure;
|
|
|
9
9
|
*
|
|
10
10
|
* - topology: loaded once via {@link feedInstances_ensureLoaded} (no-op if already warm);
|
|
11
11
|
* - feed metadata (counters → aggregate status): fetched only if missing/placeholder;
|
|
12
|
-
* -
|
|
13
|
-
*
|
|
12
|
+
* - freshness: a warm reuse runs the visit delta ({@link feedVisit_sync}) — feed counters,
|
|
13
|
+
* then only the nodes created, finished, or still running since the last visit; a cold
|
|
14
|
+
* load already carried fresh status and topology;
|
|
14
15
|
* - join edges: resolved lazily for the feed's `ts` nodes.
|
|
15
16
|
*
|
|
16
17
|
* @module
|
|
@@ -18,24 +19,6 @@ exports.feedGraphData_ensure = feedGraphData_ensure;
|
|
|
18
19
|
const cumin_1 = require("@fnndsc/cumin");
|
|
19
20
|
const proc_js_1 = require("../vfs/providers/proc.js");
|
|
20
21
|
const feedJoins_js_1 = require("./feedJoins.js");
|
|
21
|
-
/**
|
|
22
|
-
* Whether every cached instance of a feed carries a terminal status. A feed
|
|
23
|
-
* that has fully settled can never change again, so a status refresh for it
|
|
24
|
-
* is pure waste — and for a feed of thousands of nodes, that waste is
|
|
25
|
-
* dozens of list calls on every diagram render.
|
|
26
|
-
*
|
|
27
|
-
* @param cache - The process cache.
|
|
28
|
-
* @param feedID - The feed to inspect.
|
|
29
|
-
* @returns True when no instance could still change status.
|
|
30
|
-
*/
|
|
31
|
-
function feed_isSettled(cache, feedID) {
|
|
32
|
-
for (const id of cache.feedInstanceIDs_get(feedID)) {
|
|
33
|
-
const inst = cache.instance_get(id);
|
|
34
|
-
if (inst === undefined || !(0, cumin_1.status_isTerminal)(inst.status))
|
|
35
|
-
return false;
|
|
36
|
-
}
|
|
37
|
-
return true;
|
|
38
|
-
}
|
|
39
22
|
/**
|
|
40
23
|
* Ensures a feed's topology, metadata, current status, and join edges are in ProcCache,
|
|
41
24
|
* reusing anything already warm.
|
|
@@ -48,10 +31,10 @@ async function feedGraphData_ensure(feedID) {
|
|
|
48
31
|
await (0, proc_js_1.feedInstances_ensureLoaded)(feedID);
|
|
49
32
|
await (0, proc_js_1.feedMeta_ensure)(feedID);
|
|
50
33
|
// A cold load just fetched fresh status with the topology. A warm reuse
|
|
51
|
-
//
|
|
52
|
-
//
|
|
53
|
-
if (wasWarm
|
|
54
|
-
await (0, proc_js_1.
|
|
34
|
+
// pays only for what moved; a settled feed renders from cache alone for
|
|
35
|
+
// the length of its re-check window.
|
|
36
|
+
if (wasWarm)
|
|
37
|
+
await (0, proc_js_1.feedVisit_sync)(feedID);
|
|
55
38
|
await (0, feedJoins_js_1.feedJoins_ensure)(feedID);
|
|
56
39
|
}
|
|
57
40
|
//# sourceMappingURL=feedLoad.js.map
|
package/dist/dag/feedLoad.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"feedLoad.js","sourceRoot":"","sources":["../../src/dag/feedLoad.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"feedLoad.js","sourceRoot":"","sources":["../../src/dag/feedLoad.ts"],"names":[],"mappings":";;AAyBA,oDAWC;AApCD;;;;;;;;;;;;;;GAcG;AACH,yCAAyD;AACzD,sDAAuG;AACvG,iDAAkD;AAElD;;;;;GAKG;AACI,KAAK,UAAU,oBAAoB,CAAC,MAAc;IACvD,MAAM,KAAK,GAAc,IAAA,qBAAa,GAAE,CAAC;IACzC,MAAM,OAAO,GAAY,KAAK,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAE1D,MAAM,IAAA,oCAA0B,EAAC,MAAM,CAAC,CAAC;IACzC,MAAM,IAAA,yBAAe,EAAC,MAAM,CAAC,CAAC;IAC9B,wEAAwE;IACxE,wEAAwE;IACxE,qCAAqC;IACrC,IAAI,OAAO;QAAE,MAAM,IAAA,wBAAc,EAAC,MAAM,CAAC,CAAC;IAC1C,MAAM,IAAA,+BAAgB,EAAC,MAAM,CAAC,CAAC;AACjC,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -20,7 +20,7 @@ export * from './workflows/index.js';
|
|
|
20
20
|
export * from './compute/index.js';
|
|
21
21
|
export * from './jobs/index.js';
|
|
22
22
|
export * from './users/index.js';
|
|
23
|
-
export { procCache_refresh, procTopology_warmup, procTopology_reconcileFeeds, procTopology_retry, procTopology_status, procTopology_await, procFeed_ensureLoaded, feedInstances_ensureLoaded, feedMeta_ensure, feedStatus_refresh } from './vfs/providers/proc.js';
|
|
23
|
+
export { procCache_refresh, procTopology_warmup, procTopology_reconcileFeeds, procTopology_retry, procTopology_status, procTopology_await, procFeed_ensureLoaded, feedInstances_ensureLoaded, feedMeta_ensure, feedStatus_refresh, feedVisit_sync, feedCached_isSettled, procRoster_sync, procVisitState_reset, FEED_RECHECK_MS, ROSTER_FULL_WALK_MS, FEED_VISIT_COALESCE_MS } from './vfs/providers/proc.js';
|
|
24
24
|
export type { ProcTopologyState, ProcTopologyStatus } from './vfs/providers/proc.js';
|
|
25
25
|
export { feedGraph_build, signature_compute } from './dag/feedGraph.js';
|
|
26
26
|
export type { FeedGraph, FeedNode } from './dag/feedGraph.js';
|
package/dist/index.js
CHANGED
|
@@ -18,7 +18,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
18
18
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
19
19
|
};
|
|
20
20
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
|
-
exports.feedGraphData_ensure = exports.nodeJoins_resolve = exports.feedJoins_ensure = exports.signature_compute = exports.feedGraph_build = exports.feedStatus_refresh = exports.feedMeta_ensure = exports.feedInstances_ensureLoaded = exports.procFeed_ensureLoaded = exports.procTopology_await = exports.procTopology_status = exports.procTopology_retry = exports.procTopology_reconcileFeeds = exports.procTopology_warmup = exports.procCache_refresh = void 0;
|
|
21
|
+
exports.feedGraphData_ensure = exports.nodeJoins_resolve = exports.feedJoins_ensure = exports.signature_compute = exports.feedGraph_build = exports.FEED_VISIT_COALESCE_MS = exports.ROSTER_FULL_WALK_MS = exports.FEED_RECHECK_MS = exports.procVisitState_reset = exports.procRoster_sync = exports.feedCached_isSettled = exports.feedVisit_sync = exports.feedStatus_refresh = exports.feedMeta_ensure = exports.feedInstances_ensureLoaded = exports.procFeed_ensureLoaded = exports.procTopology_await = exports.procTopology_status = exports.procTopology_retry = exports.procTopology_reconcileFeeds = exports.procTopology_warmup = exports.procCache_refresh = void 0;
|
|
22
22
|
__exportStar(require("./feeds/index.js"), exports);
|
|
23
23
|
__exportStar(require("./plugins/index.js"), exports);
|
|
24
24
|
__exportStar(require("./files/index.js"), exports);
|
|
@@ -48,6 +48,13 @@ Object.defineProperty(exports, "procFeed_ensureLoaded", { enumerable: true, get:
|
|
|
48
48
|
Object.defineProperty(exports, "feedInstances_ensureLoaded", { enumerable: true, get: function () { return proc_js_1.feedInstances_ensureLoaded; } });
|
|
49
49
|
Object.defineProperty(exports, "feedMeta_ensure", { enumerable: true, get: function () { return proc_js_1.feedMeta_ensure; } });
|
|
50
50
|
Object.defineProperty(exports, "feedStatus_refresh", { enumerable: true, get: function () { return proc_js_1.feedStatus_refresh; } });
|
|
51
|
+
Object.defineProperty(exports, "feedVisit_sync", { enumerable: true, get: function () { return proc_js_1.feedVisit_sync; } });
|
|
52
|
+
Object.defineProperty(exports, "feedCached_isSettled", { enumerable: true, get: function () { return proc_js_1.feedCached_isSettled; } });
|
|
53
|
+
Object.defineProperty(exports, "procRoster_sync", { enumerable: true, get: function () { return proc_js_1.procRoster_sync; } });
|
|
54
|
+
Object.defineProperty(exports, "procVisitState_reset", { enumerable: true, get: function () { return proc_js_1.procVisitState_reset; } });
|
|
55
|
+
Object.defineProperty(exports, "FEED_RECHECK_MS", { enumerable: true, get: function () { return proc_js_1.FEED_RECHECK_MS; } });
|
|
56
|
+
Object.defineProperty(exports, "ROSTER_FULL_WALK_MS", { enumerable: true, get: function () { return proc_js_1.ROSTER_FULL_WALK_MS; } });
|
|
57
|
+
Object.defineProperty(exports, "FEED_VISIT_COALESCE_MS", { enumerable: true, get: function () { return proc_js_1.FEED_VISIT_COALESCE_MS; } });
|
|
51
58
|
var feedGraph_js_1 = require("./dag/feedGraph.js");
|
|
52
59
|
Object.defineProperty(exports, "feedGraph_build", { enumerable: true, get: function () { return feedGraph_js_1.feedGraph_build; } });
|
|
53
60
|
Object.defineProperty(exports, "signature_compute", { enumerable: true, get: function () { return feedGraph_js_1.signature_compute; } });
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;;AAEH,mDAAiC;AACjC,qDAAmC;AACnC,mDAAiC;AACjC,qDAAmC;AACnC,qDAAmC;AACnC,mDAAiC;AACjC,uDAAqC;AACrC,kDAAgC;AAChC,sDAAoC;AACpC,iDAA+B;AAC/B,kDAAgC;AAChC,oDAAkC;AAClC,yDAAuC;AACvC,6DAA2C;AAC3C,uDAAqC;AACrC,qDAAmC;AACnC,kDAAgC;AAChC,mDAAiC;AACjC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;;AAEH,mDAAiC;AACjC,qDAAmC;AACnC,mDAAiC;AACjC,qDAAmC;AACnC,qDAAmC;AACnC,mDAAiC;AACjC,uDAAqC;AACrC,kDAAgC;AAChC,sDAAoC;AACpC,iDAA+B;AAC/B,kDAAgC;AAChC,oDAAkC;AAClC,yDAAuC;AACvC,6DAA2C;AAC3C,uDAAqC;AACrC,qDAAmC;AACnC,kDAAgC;AAChC,mDAAiC;AACjC,mDAA8Y;AAArY,4GAAA,iBAAiB,OAAA;AAAE,8GAAA,mBAAmB,OAAA;AAAE,sHAAA,2BAA2B,OAAA;AAAE,6GAAA,kBAAkB,OAAA;AAAE,8GAAA,mBAAmB,OAAA;AAAE,6GAAA,kBAAkB,OAAA;AAAE,gHAAA,qBAAqB,OAAA;AAAE,qHAAA,0BAA0B,OAAA;AAAE,0GAAA,eAAe,OAAA;AAAE,6GAAA,kBAAkB,OAAA;AAAE,yGAAA,cAAc,OAAA;AAAE,+GAAA,oBAAoB,OAAA;AAAE,0GAAA,eAAe,OAAA;AAAE,+GAAA,oBAAoB,OAAA;AAAE,0GAAA,eAAe,OAAA;AAAE,8GAAA,mBAAmB,OAAA;AAAE,iHAAA,sBAAsB,OAAA;AAE5W,mDAAwE;AAA/D,+GAAA,eAAe,OAAA;AAAE,iHAAA,iBAAiB,OAAA;AAE3C,mDAAyE;AAAhE,gHAAA,gBAAgB,OAAA;AAAE,iHAAA,iBAAiB,OAAA;AAC5C,iDAAyD;AAAhD,mHAAA,oBAAoB,OAAA"}
|
|
@@ -88,7 +88,17 @@ class NativeVfsProvider {
|
|
|
88
88
|
if (linksResult.status === "fulfilled" && linksResult.value?.tableData) {
|
|
89
89
|
linksResult.value.tableData.forEach((l) => items.push(mapToItem(l, "link")));
|
|
90
90
|
}
|
|
91
|
-
|
|
91
|
+
// A directory listing is name-unique by definition; CUBE's links
|
|
92
|
+
// search can return the same row more than once (observed on /PUBLIC),
|
|
93
|
+
// so keep the first occurrence of each name.
|
|
94
|
+
const seen = new Set();
|
|
95
|
+
const unique = items.filter((item) => {
|
|
96
|
+
if (seen.has(item.name))
|
|
97
|
+
return false;
|
|
98
|
+
seen.add(item.name);
|
|
99
|
+
return true;
|
|
100
|
+
});
|
|
101
|
+
const sorted = (0, sort_js_1.vfsItems_sort)(unique, options?.sort, options?.reverse);
|
|
92
102
|
return (0, cumin_1.Ok)(sorted);
|
|
93
103
|
}
|
|
94
104
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"native.js","sourceRoot":"","sources":["../../../src/vfs/providers/native.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"native.js","sourceRoot":"","sources":["../../../src/vfs/providers/native.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,17 +2,34 @@
|
|
|
2
2
|
* @file /proc VFS Provider
|
|
3
3
|
*
|
|
4
4
|
* Surfaces ChRIS plugin instances as a navigable DAG under /proc/jobs/.
|
|
5
|
-
* Backed by ProcCache
|
|
5
|
+
* Backed by ProcCache: an accumulating index whose terminal entries are
|
|
6
|
+
* immutable and whose freshness is visit-driven.
|
|
6
7
|
*
|
|
7
|
-
*
|
|
8
|
-
* -
|
|
9
|
-
*
|
|
10
|
-
*
|
|
8
|
+
* Freshness model (every visit is a cheap delta, never a re-crawl):
|
|
9
|
+
* - ls /proc/jobs → roster delta (feeds newer than the highest known
|
|
10
|
+
* id), and a full index walk once the roster is older
|
|
11
|
+
* than {@link ROSTER_FULL_WALK_MS} — so a feed shared
|
|
12
|
+
* later still appears within that window;
|
|
13
|
+
* - ls /proc/jobs/N → first visit loads the topology once; every later
|
|
14
|
+
* visit runs {@link feedVisit_sync}: one feed-row
|
|
15
|
+
* fetch (job counters), then, only when something
|
|
16
|
+
* moved, a `min_end_date` delta walk (nodes created
|
|
17
|
+
* or finished since the cursor) plus an `active=true`
|
|
18
|
+
* sweep for the nodes still running;
|
|
19
|
+
* - settled feeds → re-checked at most once per {@link FEED_RECHECK_MS},
|
|
20
|
+
* so work appended to a finished feed is still seen;
|
|
21
|
+
* - cat .../status → getPluginInstance(id), always live.
|
|
11
22
|
*
|
|
12
23
|
* @module
|
|
13
24
|
*/
|
|
14
|
-
import { ProcFeed, Result } from '@fnndsc/cumin';
|
|
25
|
+
import { ProcCache, ProcFeed, Result } from '@fnndsc/cumin';
|
|
15
26
|
import { VFSProvider, VFSItem, CpOptions } from '../provider.js';
|
|
27
|
+
/** How long a settled feed's counters are trusted before a visit re-checks them. */
|
|
28
|
+
export declare const FEED_RECHECK_MS: number;
|
|
29
|
+
/** How old the roster may be before a visit walks the whole feed index again. */
|
|
30
|
+
export declare const ROSTER_FULL_WALK_MS: number;
|
|
31
|
+
/** Visits to one feed closer together than this share the first visit's result. */
|
|
32
|
+
export declare const FEED_VISIT_COALESCE_MS: number;
|
|
16
33
|
/** Lifecycle states for the session's global topology sweep. */
|
|
17
34
|
export type ProcTopologyState = 'idle' | 'running' | 'complete' | 'failed';
|
|
18
35
|
/**
|
|
@@ -107,6 +124,51 @@ export declare function procFeed_ensureLoaded(feedID: number): Promise<void>;
|
|
|
107
124
|
*/
|
|
108
125
|
export declare function feedMeta_ensure(feedID: number): Promise<void>;
|
|
109
126
|
export declare function feedStatus_refresh(feedID: number): Promise<void>;
|
|
127
|
+
/**
|
|
128
|
+
* Whether every cached instance of a feed carries a terminal status. A fully
|
|
129
|
+
* settled feed can only change by having work appended to it, which the
|
|
130
|
+
* feed-row counters reveal.
|
|
131
|
+
*
|
|
132
|
+
* @param cache - The process cache.
|
|
133
|
+
* @param feedID - The feed to inspect.
|
|
134
|
+
* @returns True when no cached instance could still change status.
|
|
135
|
+
*/
|
|
136
|
+
export declare function feedCached_isSettled(cache: ProcCache, feedID: number): boolean;
|
|
137
|
+
/**
|
|
138
|
+
* Brings one already-loaded feed up to date with CUBE at the cost the change
|
|
139
|
+
* warrants: a settled feed pays one feed-row fetch per {@link FEED_RECHECK_MS};
|
|
140
|
+
* a feed with running work pays that fetch on every visit; and only when the
|
|
141
|
+
* counters moved (or work is running) does the visit walk the delta —
|
|
142
|
+
* `min_end_date` from the cursor, which yields nodes created OR finished since
|
|
143
|
+
* (CUBE stamps end_date at creation and again at completion) — followed by an
|
|
144
|
+
* `active=true` sweep for the nodes still in flight.
|
|
145
|
+
*
|
|
146
|
+
* Concurrent visits share one in-flight sync, and visits within
|
|
147
|
+
* {@link FEED_VISIT_COALESCE_MS} of each other share the first one's result
|
|
148
|
+
* (a pane tick and an `ls` in the same second are one visit). Failures are
|
|
149
|
+
* surfaced as warnings and never fail the visit: the cache stays as it was.
|
|
150
|
+
*
|
|
151
|
+
* @param feedID - A feed whose topology is already loaded.
|
|
152
|
+
* @param force - Ignore the settled-feed throttle (an explicit refresh).
|
|
153
|
+
* @returns True when the cache reflects CUBE as of this visit (including a
|
|
154
|
+
* visit that needed no wire), false when the sync failed.
|
|
155
|
+
*/
|
|
156
|
+
export declare function feedVisit_sync(feedID: number, force?: boolean): Promise<boolean>;
|
|
157
|
+
/**
|
|
158
|
+
* Brings the feed roster up to date on a `/proc/jobs` visit. While the roster
|
|
159
|
+
* is younger than {@link ROSTER_FULL_WALK_MS} this is a delta: feeds whose id
|
|
160
|
+
* exceeds the highest known one, from both the owned/shared and the public
|
|
161
|
+
* collections (one call each when nothing is new). Once older, it is the full
|
|
162
|
+
* index walk, which is the only way a feed shared later, or one deleted, is
|
|
163
|
+
* seen. A roster still owned by warmup (not yet `current`) is left alone.
|
|
164
|
+
*
|
|
165
|
+
* @param force - Walk the whole index regardless of age.
|
|
166
|
+
*/
|
|
167
|
+
export declare function procRoster_sync(force?: boolean): Promise<void>;
|
|
168
|
+
/**
|
|
169
|
+
* Forgets all visit bookkeeping (tests, and a cache cleared underneath us).
|
|
170
|
+
*/
|
|
171
|
+
export declare function procVisitState_reset(): void;
|
|
110
172
|
/**
|
|
111
173
|
* Starts or joins the session's global plugin-instance topology sweep.
|
|
112
174
|
*
|
|
@@ -3,23 +3,38 @@
|
|
|
3
3
|
* @file /proc VFS Provider
|
|
4
4
|
*
|
|
5
5
|
* Surfaces ChRIS plugin instances as a navigable DAG under /proc/jobs/.
|
|
6
|
-
* Backed by ProcCache
|
|
6
|
+
* Backed by ProcCache: an accumulating index whose terminal entries are
|
|
7
|
+
* immutable and whose freshness is visit-driven.
|
|
7
8
|
*
|
|
8
|
-
*
|
|
9
|
-
* -
|
|
10
|
-
*
|
|
11
|
-
*
|
|
9
|
+
* Freshness model (every visit is a cheap delta, never a re-crawl):
|
|
10
|
+
* - ls /proc/jobs → roster delta (feeds newer than the highest known
|
|
11
|
+
* id), and a full index walk once the roster is older
|
|
12
|
+
* than {@link ROSTER_FULL_WALK_MS} — so a feed shared
|
|
13
|
+
* later still appears within that window;
|
|
14
|
+
* - ls /proc/jobs/N → first visit loads the topology once; every later
|
|
15
|
+
* visit runs {@link feedVisit_sync}: one feed-row
|
|
16
|
+
* fetch (job counters), then, only when something
|
|
17
|
+
* moved, a `min_end_date` delta walk (nodes created
|
|
18
|
+
* or finished since the cursor) plus an `active=true`
|
|
19
|
+
* sweep for the nodes still running;
|
|
20
|
+
* - settled feeds → re-checked at most once per {@link FEED_RECHECK_MS},
|
|
21
|
+
* so work appended to a finished feed is still seen;
|
|
22
|
+
* - cat .../status → getPluginInstance(id), always live.
|
|
12
23
|
*
|
|
13
24
|
* @module
|
|
14
25
|
*/
|
|
15
26
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
-
exports.ProcVfsProvider = void 0;
|
|
27
|
+
exports.ProcVfsProvider = exports.FEED_VISIT_COALESCE_MS = exports.ROSTER_FULL_WALK_MS = exports.FEED_RECHECK_MS = void 0;
|
|
17
28
|
exports.feedInstances_ensureLoaded = feedInstances_ensureLoaded;
|
|
18
29
|
exports.feedStatus_derive = feedStatus_derive;
|
|
19
30
|
exports.procPath_parse = procPath_parse;
|
|
20
31
|
exports.procFeed_ensureLoaded = procFeed_ensureLoaded;
|
|
21
32
|
exports.feedMeta_ensure = feedMeta_ensure;
|
|
22
33
|
exports.feedStatus_refresh = feedStatus_refresh;
|
|
34
|
+
exports.feedCached_isSettled = feedCached_isSettled;
|
|
35
|
+
exports.feedVisit_sync = feedVisit_sync;
|
|
36
|
+
exports.procRoster_sync = procRoster_sync;
|
|
37
|
+
exports.procVisitState_reset = procVisitState_reset;
|
|
23
38
|
exports.procTopology_warmup = procTopology_warmup;
|
|
24
39
|
exports.procTopology_reconcileFeeds = procTopology_reconcileFeeds;
|
|
25
40
|
exports.procTopology_retry = procTopology_retry;
|
|
@@ -36,6 +51,16 @@ const INSTANCE_FILES = new Set(['status', 'params', 'log', 'data']);
|
|
|
36
51
|
const FEED_FILES = new Set(['status', 'title']);
|
|
37
52
|
const PROC_JOBS_PREFIX = '/proc/jobs';
|
|
38
53
|
const PAGE = 100;
|
|
54
|
+
/** How long a settled feed's counters are trusted before a visit re-checks them. */
|
|
55
|
+
exports.FEED_RECHECK_MS = 10 * 60 * 1000;
|
|
56
|
+
/** How old the roster may be before a visit walks the whole feed index again. */
|
|
57
|
+
exports.ROSTER_FULL_WALK_MS = 10 * 60 * 1000;
|
|
58
|
+
/** Visits to one feed closer together than this share the first visit's result. */
|
|
59
|
+
exports.FEED_VISIT_COALESCE_MS = 1000;
|
|
60
|
+
const feedVisits = new Map();
|
|
61
|
+
const feedVisitInflight = new Map();
|
|
62
|
+
let rosterWalkedAt = 0;
|
|
63
|
+
let rosterSyncInflight = null;
|
|
39
64
|
let procTopologyPromise = null;
|
|
40
65
|
let procTopologyFailure;
|
|
41
66
|
let procTopologyResumeState = null;
|
|
@@ -81,9 +106,25 @@ async function procCache_build() {
|
|
|
81
106
|
await procFeeds_index((params) => (0, cumin_1.feedsPage_get)(client, params), indexed);
|
|
82
107
|
// Older CUBEs lack a public-feeds endpoint: the contract answers null
|
|
83
108
|
// without a wire call, and an empty first page ends the index loop.
|
|
109
|
+
const publicBefore = indexed.size;
|
|
84
110
|
await procFeeds_index(async (params) => (await (0, cumin_1.publicFeedsPage_get)(client, params)) ?? { data: [], totalCount: 0 }, indexed);
|
|
111
|
+
// An empty public walk while the cache already holds public feeds is a
|
|
112
|
+
// failed SOURCE, not an authoritative absence: reconciling against it
|
|
113
|
+
// would amputate every public feed from the roster (and the checkpoint
|
|
114
|
+
// watcher would persist the amputation). Keep what we know and say so.
|
|
115
|
+
if (indexed.size === publicBefore) {
|
|
116
|
+
const knownPublic = cache.feeds_find('').filter((feed) => feed.public);
|
|
117
|
+
if (knownPublic.length > 0) {
|
|
118
|
+
cumin_1.errorStack.stack_push('warning', `proc roster: public-feeds source returned nothing while ${knownPublic.length} public feeds are known; keeping them`);
|
|
119
|
+
for (const feed of knownPublic)
|
|
120
|
+
indexed.set(feed.id, feed);
|
|
121
|
+
}
|
|
122
|
+
}
|
|
85
123
|
const reconciliationTargets = cache.feeds_reconcile(Array.from(indexed.values()));
|
|
124
|
+
for (const feedID of reconciliationTargets)
|
|
125
|
+
feedVisits.delete(feedID);
|
|
86
126
|
cache.built_set();
|
|
127
|
+
rosterWalkedAt = Date.now();
|
|
87
128
|
return reconciliationTargets;
|
|
88
129
|
}
|
|
89
130
|
/** Ensures the feed index is built, building it on first access. */
|
|
@@ -104,6 +145,61 @@ function instanceMetrics_fromRow(inst) {
|
|
|
104
145
|
...(typeof inst.size === 'number' ? { outputBytes: inst.size } : {}),
|
|
105
146
|
};
|
|
106
147
|
}
|
|
148
|
+
/**
|
|
149
|
+
* Converts a CUBE plugin-instance list row into the cache's instance model.
|
|
150
|
+
*
|
|
151
|
+
* @param inst - One list row.
|
|
152
|
+
* @returns The instance as ProcCache stores it (params unresolved).
|
|
153
|
+
*/
|
|
154
|
+
function procInstance_fromRow(inst) {
|
|
155
|
+
const prevID = (inst.previous_id !== null && inst.previous_id !== undefined)
|
|
156
|
+
? Number(inst.previous_id)
|
|
157
|
+
: null;
|
|
158
|
+
return {
|
|
159
|
+
id: Number(inst.id),
|
|
160
|
+
feedID: Number(inst.feed_id),
|
|
161
|
+
parentID: prevID,
|
|
162
|
+
pluginName: String(inst.plugin_name),
|
|
163
|
+
pluginType: inst.plugin_type !== undefined ? String(inst.plugin_type) : undefined,
|
|
164
|
+
params: null,
|
|
165
|
+
outputPath: outputPath_normalize(inst.output_path) ?? undefined,
|
|
166
|
+
status: String(inst.status ?? 'unknown'),
|
|
167
|
+
...instanceMetrics_fromRow(inst),
|
|
168
|
+
};
|
|
169
|
+
}
|
|
170
|
+
/**
|
|
171
|
+
* Merges one CUBE list row into the cache: a known instance takes the row's
|
|
172
|
+
* status and metrics (terminal status never regresses), an unknown one is
|
|
173
|
+
* added to the topology.
|
|
174
|
+
*
|
|
175
|
+
* @param cache - The process cache.
|
|
176
|
+
* @param inst - One list row.
|
|
177
|
+
* @returns True when the row introduced a new instance.
|
|
178
|
+
*/
|
|
179
|
+
function procInstanceRow_merge(cache, inst) {
|
|
180
|
+
const id = Number(inst.id);
|
|
181
|
+
if (cache.instance_get(id)) {
|
|
182
|
+
cache.status_update(id, String(inst.status ?? 'unknown'));
|
|
183
|
+
cache.instanceMetrics_set(id, instanceMetrics_fromRow(inst));
|
|
184
|
+
return false;
|
|
185
|
+
}
|
|
186
|
+
cache.instance_add(procInstance_fromRow(inst));
|
|
187
|
+
return true;
|
|
188
|
+
}
|
|
189
|
+
/**
|
|
190
|
+
* The newer of two ISO timestamps, tolerant of absent values.
|
|
191
|
+
*
|
|
192
|
+
* @param a - A timestamp or null.
|
|
193
|
+
* @param b - A timestamp, or undefined when the row carried none.
|
|
194
|
+
* @returns The later of the two, or whichever exists.
|
|
195
|
+
*/
|
|
196
|
+
function isoNewest_pick(a, b) {
|
|
197
|
+
if (typeof b !== 'string' || b === '')
|
|
198
|
+
return a;
|
|
199
|
+
if (a === null)
|
|
200
|
+
return b;
|
|
201
|
+
return Date.parse(b) > Date.parse(a) ? b : a;
|
|
202
|
+
}
|
|
107
203
|
async function feedInstances_load(feedID) {
|
|
108
204
|
const cache = (0, cumin_1.procCache_get)();
|
|
109
205
|
const client = await cumin_1.chrisConnection.client_get();
|
|
@@ -114,22 +210,8 @@ async function feedInstances_load(feedID) {
|
|
|
114
210
|
for (const instance of step.items)
|
|
115
211
|
instances.set(Number(instance.id), instance);
|
|
116
212
|
}
|
|
117
|
-
for (const inst of instances.values())
|
|
118
|
-
|
|
119
|
-
? Number(inst.previous_id)
|
|
120
|
-
: null;
|
|
121
|
-
cache.instance_add({
|
|
122
|
-
id: Number(inst.id),
|
|
123
|
-
feedID: Number(inst.feed_id),
|
|
124
|
-
parentID: prevID,
|
|
125
|
-
pluginName: String(inst.plugin_name),
|
|
126
|
-
pluginType: inst.plugin_type !== undefined ? String(inst.plugin_type) : undefined,
|
|
127
|
-
params: null,
|
|
128
|
-
outputPath: outputPath_normalize(inst.output_path) ?? undefined,
|
|
129
|
-
status: String(inst.status ?? 'unknown'),
|
|
130
|
-
...instanceMetrics_fromRow(inst),
|
|
131
|
-
});
|
|
132
|
-
}
|
|
213
|
+
for (const inst of instances.values())
|
|
214
|
+
cache.instance_add(procInstance_fromRow(inst));
|
|
133
215
|
cache.topologyLoaded_mark(feedID);
|
|
134
216
|
}
|
|
135
217
|
/**
|
|
@@ -343,6 +425,7 @@ class ProcVfsProvider {
|
|
|
343
425
|
const clean = pathStr.replace(/\/$/, '');
|
|
344
426
|
// /proc/jobs — list all feeds with aggregate status from counters
|
|
345
427
|
if (clean === PROC_JOBS_PREFIX) {
|
|
428
|
+
await procRoster_sync();
|
|
346
429
|
const items = cache.feedIDs_get().map((feedID) => {
|
|
347
430
|
const feed = cache.feed_get(feedID);
|
|
348
431
|
const status = feed ? feedStatus_derive(feed) : 'unknown';
|
|
@@ -376,13 +459,11 @@ class ProcVfsProvider {
|
|
|
376
459
|
const feed = cache.feed_get(feedID);
|
|
377
460
|
if (!feed)
|
|
378
461
|
return (0, cumin_1.Ok)([]);
|
|
462
|
+
// The initial load already carried live status and topology; a revisit
|
|
463
|
+
// is a delta (feed counters, then only what moved).
|
|
464
|
+
if (wasLoaded)
|
|
465
|
+
await feedVisit_sync(feedID);
|
|
379
466
|
const rootIDs = cache.feedRoots_get(feedID);
|
|
380
|
-
// The initial load already carried live status; only re-fetch when revisiting
|
|
381
|
-
// a feed that still has active (non-terminal) nodes among those shown. One
|
|
382
|
-
// feed-scoped list call updates all of them — no per-node detail fetches.
|
|
383
|
-
if (wasLoaded && rootIDs.some((id) => !(0, cumin_1.status_isTerminal)(cache.instance_get(id)?.status))) {
|
|
384
|
-
await feedStatus_refresh(feedID);
|
|
385
|
-
}
|
|
386
467
|
const items = [];
|
|
387
468
|
items.push({ name: 'status', type: 'file', size: 0, owner: '', date: '' });
|
|
388
469
|
items.push({ name: 'title', type: 'file', size: 0, owner: '', date: '' });
|
|
@@ -408,10 +489,9 @@ class ProcVfsProvider {
|
|
|
408
489
|
const inst = cache.instance_get(instanceID);
|
|
409
490
|
if (!inst)
|
|
410
491
|
return (0, cumin_1.Ok)([]);
|
|
492
|
+
if (wasLoaded)
|
|
493
|
+
await feedVisit_sync(feedID);
|
|
411
494
|
const childIDs = cache.children_get(instanceID);
|
|
412
|
-
if (wasLoaded && childIDs.some((id) => !(0, cumin_1.status_isTerminal)(cache.instance_get(id)?.status))) {
|
|
413
|
-
await feedStatus_refresh(feedID);
|
|
414
|
-
}
|
|
415
495
|
const items = [];
|
|
416
496
|
items.push({ name: 'status', type: 'file', size: 0, owner: '', date: '' });
|
|
417
497
|
items.push({ name: 'params', type: 'file', size: 0, owner: '', date: '' });
|
|
@@ -640,6 +720,182 @@ async function feedStatus_refresh(feedID) {
|
|
|
640
720
|
}
|
|
641
721
|
}
|
|
642
722
|
}
|
|
723
|
+
// ── Visit-driven freshness ─────────────────────────────────────────────────
|
|
724
|
+
/**
|
|
725
|
+
* Whether every cached instance of a feed carries a terminal status. A fully
|
|
726
|
+
* settled feed can only change by having work appended to it, which the
|
|
727
|
+
* feed-row counters reveal.
|
|
728
|
+
*
|
|
729
|
+
* @param cache - The process cache.
|
|
730
|
+
* @param feedID - The feed to inspect.
|
|
731
|
+
* @returns True when no cached instance could still change status.
|
|
732
|
+
*/
|
|
733
|
+
function feedCached_isSettled(cache, feedID) {
|
|
734
|
+
for (const id of cache.feedInstanceIDs_get(feedID)) {
|
|
735
|
+
const inst = cache.instance_get(id);
|
|
736
|
+
if (inst === undefined || !(0, cumin_1.status_isTerminal)(inst.status))
|
|
737
|
+
return false;
|
|
738
|
+
}
|
|
739
|
+
return true;
|
|
740
|
+
}
|
|
741
|
+
/**
|
|
742
|
+
* Derives a feed's delta cursor from what the cache already holds: the newest
|
|
743
|
+
* start or end timestamp across its instances.
|
|
744
|
+
*
|
|
745
|
+
* @param cache - The process cache.
|
|
746
|
+
* @param feedID - The feed whose rows to scan.
|
|
747
|
+
* @returns The newest timestamp, or null when no row carried one.
|
|
748
|
+
*/
|
|
749
|
+
function feedCursor_derive(cache, feedID) {
|
|
750
|
+
let newest = null;
|
|
751
|
+
for (const id of cache.feedInstanceIDs_get(feedID)) {
|
|
752
|
+
const inst = cache.instance_get(id);
|
|
753
|
+
if (!inst)
|
|
754
|
+
continue;
|
|
755
|
+
newest = isoNewest_pick(newest, inst.startedAt);
|
|
756
|
+
newest = isoNewest_pick(newest, inst.finishedAt);
|
|
757
|
+
}
|
|
758
|
+
return newest;
|
|
759
|
+
}
|
|
760
|
+
/**
|
|
761
|
+
* Walks one filtered plugin-instance listing for a feed, merging every row.
|
|
762
|
+
*
|
|
763
|
+
* @param cache - The process cache.
|
|
764
|
+
* @param client - Connected chrisapi client.
|
|
765
|
+
* @param params - CUBE filter params beyond feed_id/limit/offset.
|
|
766
|
+
* @param feedID - The feed being walked.
|
|
767
|
+
* @param cursor - The cursor to advance with the rows' timestamps.
|
|
768
|
+
* @returns The advanced cursor.
|
|
769
|
+
*/
|
|
770
|
+
async function feedRows_merge(cache, client, params, feedID, cursor) {
|
|
771
|
+
let newest = cursor;
|
|
772
|
+
for await (const step of (0, cumin_1.listPages_walk)((offset, limit) => (0, cumin_1.pluginInstancesPage_get)(client, { ...params, feed_id: feedID, limit, offset }), { pageSize: PAGE })) {
|
|
773
|
+
for (const inst of step.items) {
|
|
774
|
+
procInstanceRow_merge(cache, inst);
|
|
775
|
+
newest = isoNewest_pick(newest, inst.start_date);
|
|
776
|
+
newest = isoNewest_pick(newest, inst.end_date);
|
|
777
|
+
}
|
|
778
|
+
}
|
|
779
|
+
return newest;
|
|
780
|
+
}
|
|
781
|
+
/**
|
|
782
|
+
* Brings one already-loaded feed up to date with CUBE at the cost the change
|
|
783
|
+
* warrants: a settled feed pays one feed-row fetch per {@link FEED_RECHECK_MS};
|
|
784
|
+
* a feed with running work pays that fetch on every visit; and only when the
|
|
785
|
+
* counters moved (or work is running) does the visit walk the delta —
|
|
786
|
+
* `min_end_date` from the cursor, which yields nodes created OR finished since
|
|
787
|
+
* (CUBE stamps end_date at creation and again at completion) — followed by an
|
|
788
|
+
* `active=true` sweep for the nodes still in flight.
|
|
789
|
+
*
|
|
790
|
+
* Concurrent visits share one in-flight sync, and visits within
|
|
791
|
+
* {@link FEED_VISIT_COALESCE_MS} of each other share the first one's result
|
|
792
|
+
* (a pane tick and an `ls` in the same second are one visit). Failures are
|
|
793
|
+
* surfaced as warnings and never fail the visit: the cache stays as it was.
|
|
794
|
+
*
|
|
795
|
+
* @param feedID - A feed whose topology is already loaded.
|
|
796
|
+
* @param force - Ignore the settled-feed throttle (an explicit refresh).
|
|
797
|
+
* @returns True when the cache reflects CUBE as of this visit (including a
|
|
798
|
+
* visit that needed no wire), false when the sync failed.
|
|
799
|
+
*/
|
|
800
|
+
async function feedVisit_sync(feedID, force = false) {
|
|
801
|
+
const inflight = feedVisitInflight.get(feedID);
|
|
802
|
+
if (inflight)
|
|
803
|
+
return inflight;
|
|
804
|
+
const run = feedVisit_run(feedID, force)
|
|
805
|
+
.then(() => true)
|
|
806
|
+
.catch((error) => {
|
|
807
|
+
const msg = error instanceof Error ? error.message : String(error);
|
|
808
|
+
cumin_1.errorStack.stack_push('warning', `proc feed_${feedID}: live sync failed (${msg}); showing cached state`);
|
|
809
|
+
return false;
|
|
810
|
+
})
|
|
811
|
+
.finally(() => { feedVisitInflight.delete(feedID); });
|
|
812
|
+
feedVisitInflight.set(feedID, run);
|
|
813
|
+
return run;
|
|
814
|
+
}
|
|
815
|
+
async function feedVisit_run(feedID, force) {
|
|
816
|
+
const cache = (0, cumin_1.procCache_get)();
|
|
817
|
+
const feed = cache.feed_get(feedID);
|
|
818
|
+
if (!feed || !cache.topologyLoaded_has(feedID))
|
|
819
|
+
return;
|
|
820
|
+
const visit = feedVisits.get(feedID);
|
|
821
|
+
const settled = feedCached_isSettled(cache, feedID) && !(0, cumin_1.feed_isActive)(feed);
|
|
822
|
+
const now = Date.now();
|
|
823
|
+
if (!force && visit && now - visit.checkedAt < exports.FEED_VISIT_COALESCE_MS)
|
|
824
|
+
return;
|
|
825
|
+
if (!force && settled && visit && now - visit.checkedAt < exports.FEED_RECHECK_MS)
|
|
826
|
+
return;
|
|
827
|
+
const client = await cumin_1.chrisConnection.client_get();
|
|
828
|
+
if (!client)
|
|
829
|
+
return;
|
|
830
|
+
const page = await (0, cumin_1.feedsPage_get)(client, { id: feedID, limit: 1, offset: 0 });
|
|
831
|
+
const row = page.data[0];
|
|
832
|
+
let moved = !settled || force;
|
|
833
|
+
if (row) {
|
|
834
|
+
const fresh = procFeed_create(row);
|
|
835
|
+
if ((0, cumin_1.feedTopology_changed)(feed, fresh))
|
|
836
|
+
moved = true;
|
|
837
|
+
cache.feed_add(fresh);
|
|
838
|
+
}
|
|
839
|
+
if (!moved) {
|
|
840
|
+
feedVisits.set(feedID, { checkedAt: now, cursor: visit?.cursor ?? null });
|
|
841
|
+
return;
|
|
842
|
+
}
|
|
843
|
+
let cursor = visit?.cursor ?? feedCursor_derive(cache, feedID);
|
|
844
|
+
const since = cursor ? { min_end_date: cursor } : {};
|
|
845
|
+
cursor = await feedRows_merge(cache, client, since, feedID, cursor);
|
|
846
|
+
cursor = await feedRows_merge(cache, client, { active: true }, feedID, cursor);
|
|
847
|
+
feedVisits.set(feedID, { checkedAt: Date.now(), cursor });
|
|
848
|
+
}
|
|
849
|
+
/**
|
|
850
|
+
* Brings the feed roster up to date on a `/proc/jobs` visit. While the roster
|
|
851
|
+
* is younger than {@link ROSTER_FULL_WALK_MS} this is a delta: feeds whose id
|
|
852
|
+
* exceeds the highest known one, from both the owned/shared and the public
|
|
853
|
+
* collections (one call each when nothing is new). Once older, it is the full
|
|
854
|
+
* index walk, which is the only way a feed shared later, or one deleted, is
|
|
855
|
+
* seen. A roster still owned by warmup (not yet `current`) is left alone.
|
|
856
|
+
*
|
|
857
|
+
* @param force - Walk the whole index regardless of age.
|
|
858
|
+
*/
|
|
859
|
+
async function procRoster_sync(force = false) {
|
|
860
|
+
if (rosterSyncInflight)
|
|
861
|
+
return rosterSyncInflight;
|
|
862
|
+
const run = procRoster_run(force)
|
|
863
|
+
.catch((error) => {
|
|
864
|
+
const msg = error instanceof Error ? error.message : String(error);
|
|
865
|
+
cumin_1.errorStack.stack_push('warning', `proc roster: live sync failed (${msg}); showing cached roster`);
|
|
866
|
+
})
|
|
867
|
+
.finally(() => { rosterSyncInflight = null; });
|
|
868
|
+
rosterSyncInflight = run;
|
|
869
|
+
return run;
|
|
870
|
+
}
|
|
871
|
+
async function procRoster_run(force) {
|
|
872
|
+
const cache = (0, cumin_1.procCache_get)();
|
|
873
|
+
if (!cache.built || cache.lifecycle_get().state !== 'current')
|
|
874
|
+
return;
|
|
875
|
+
if (force || Date.now() - rosterWalkedAt >= exports.ROSTER_FULL_WALK_MS) {
|
|
876
|
+
await procCache_build();
|
|
877
|
+
return;
|
|
878
|
+
}
|
|
879
|
+
const client = await cumin_1.chrisConnection.client_get();
|
|
880
|
+
if (!client)
|
|
881
|
+
return;
|
|
882
|
+
const knownIDs = cache.feedIDs_get();
|
|
883
|
+
const minID = (knownIDs.length > 0 ? Math.max(...knownIDs) : 0) + 1;
|
|
884
|
+
const fresh = new Map();
|
|
885
|
+
await procFeeds_index((params) => (0, cumin_1.feedsPage_get)(client, { ...params, min_id: minID }), fresh);
|
|
886
|
+
await procFeeds_index(async (params) => (await (0, cumin_1.publicFeedsPage_get)(client, { ...params, min_id: minID })) ?? { data: [], totalCount: 0 }, fresh);
|
|
887
|
+
for (const feed of fresh.values())
|
|
888
|
+
cache.feed_add(feed);
|
|
889
|
+
}
|
|
890
|
+
/**
|
|
891
|
+
* Forgets all visit bookkeeping (tests, and a cache cleared underneath us).
|
|
892
|
+
*/
|
|
893
|
+
function procVisitState_reset() {
|
|
894
|
+
feedVisits.clear();
|
|
895
|
+
feedVisitInflight.clear();
|
|
896
|
+
rosterWalkedAt = 0;
|
|
897
|
+
rosterSyncInflight = null;
|
|
898
|
+
}
|
|
643
899
|
/**
|
|
644
900
|
* Background topology warm-up — single paginated sweep of all plugin instances
|
|
645
901
|
* across all feeds. Replaces the per-feed fan-out that was O(feeds) round trips.
|
|
@@ -673,22 +929,9 @@ async function procTopology_run(state) {
|
|
|
673
929
|
const instanceID = Number(inst.id);
|
|
674
930
|
const feedID = Number(inst.feed_id);
|
|
675
931
|
state.fetchedInstanceIDs.add(instanceID);
|
|
676
|
-
const prevID = (inst.previous_id !== null && inst.previous_id !== undefined)
|
|
677
|
-
? Number(inst.previous_id)
|
|
678
|
-
: null;
|
|
679
932
|
if (!cache.feed_get(feedID))
|
|
680
933
|
continue;
|
|
681
|
-
cache.instance_add(
|
|
682
|
-
id: instanceID,
|
|
683
|
-
feedID,
|
|
684
|
-
parentID: prevID,
|
|
685
|
-
pluginName: String(inst.plugin_name),
|
|
686
|
-
pluginType: inst.plugin_type !== undefined ? String(inst.plugin_type) : undefined,
|
|
687
|
-
params: null,
|
|
688
|
-
outputPath: outputPath_normalize(inst.output_path) ?? undefined,
|
|
689
|
-
status: String(inst.status ?? 'unknown'),
|
|
690
|
-
...instanceMetrics_fromRow(inst),
|
|
691
|
-
});
|
|
934
|
+
cache.instance_add(procInstance_fromRow(inst));
|
|
692
935
|
state.seenInstanceIDs.add(instanceID);
|
|
693
936
|
state.seenFeedIDs.add(feedID);
|
|
694
937
|
}
|
|
@@ -889,6 +1132,7 @@ async function procTopology_await() {
|
|
|
889
1132
|
async function procCache_refresh(feedID) {
|
|
890
1133
|
if (feedID !== undefined) {
|
|
891
1134
|
const cache = (0, cumin_1.procCache_get)();
|
|
1135
|
+
feedVisits.delete(feedID);
|
|
892
1136
|
cache.feed_remove(feedID);
|
|
893
1137
|
// Re-fetch feed metadata with job counters
|
|
894
1138
|
const client = await cumin_1.chrisConnection.client_get();
|
|
@@ -917,6 +1161,7 @@ async function procCache_refresh(feedID) {
|
|
|
917
1161
|
procTopologyResumeState = null;
|
|
918
1162
|
procTopologyScopedResumeFeedIDs = null;
|
|
919
1163
|
(0, cumin_1.procCache_get)().warmup_reset();
|
|
1164
|
+
feedVisits.clear();
|
|
920
1165
|
return procCache_build();
|
|
921
1166
|
}
|
|
922
1167
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proc.js","sourceRoot":"","sources":["../../../src/vfs/providers/proc.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"proc.js","sourceRoot":"","sources":["../../../src/vfs/providers/proc.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fnndsc/salsa",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.11.0",
|
|
4
4
|
"description": "Shared Application Logic and Service Assets for ChRIS",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -59,7 +59,7 @@
|
|
|
59
59
|
"inflight": "npm:@aashutoshrathi/word-wrap@^1.2.6"
|
|
60
60
|
},
|
|
61
61
|
"dependencies": {
|
|
62
|
-
"@fnndsc/cumin": "^3.
|
|
62
|
+
"@fnndsc/cumin": "^3.16.0",
|
|
63
63
|
"axios": "^1.6.8",
|
|
64
64
|
"ws": "^8.21.0"
|
|
65
65
|
}
|