@fnndsc/salsa 3.10.1 → 3.12.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 +9 -1
- package/dist/index.js.map +1 -1
- package/dist/vfs/providers/etc.d.ts +17 -2
- package/dist/vfs/providers/etc.js +46 -15
- package/dist/vfs/providers/etc.js.map +1 -1
- package/dist/vfs/providers/proc.d.ts +84 -6
- package/dist/vfs/providers/proc.js +329 -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, procRoster_bootSync, 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_bootSync = 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,14 @@ 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, "procRoster_bootSync", { enumerable: true, get: function () { return proc_js_1.procRoster_bootSync; } });
|
|
55
|
+
Object.defineProperty(exports, "procVisitState_reset", { enumerable: true, get: function () { return proc_js_1.procVisitState_reset; } });
|
|
56
|
+
Object.defineProperty(exports, "FEED_RECHECK_MS", { enumerable: true, get: function () { return proc_js_1.FEED_RECHECK_MS; } });
|
|
57
|
+
Object.defineProperty(exports, "ROSTER_FULL_WALK_MS", { enumerable: true, get: function () { return proc_js_1.ROSTER_FULL_WALK_MS; } });
|
|
58
|
+
Object.defineProperty(exports, "FEED_VISIT_COALESCE_MS", { enumerable: true, get: function () { return proc_js_1.FEED_VISIT_COALESCE_MS; } });
|
|
51
59
|
var feedGraph_js_1 = require("./dag/feedGraph.js");
|
|
52
60
|
Object.defineProperty(exports, "feedGraph_build", { enumerable: true, get: function () { return feedGraph_js_1.feedGraph_build; } });
|
|
53
61
|
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,mDAAma;AAA1Z,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,8GAAA,mBAAmB,OAAA;AAAE,+GAAA,oBAAoB,OAAA;AAAE,0GAAA,eAAe,OAAA;AAAE,8GAAA,mBAAmB,OAAA;AAAE,iHAAA,sBAAsB,OAAA;AAEjY,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"}
|
|
@@ -16,7 +16,8 @@ import { VFSProvider, VFSItem, CpOptions } from '../provider.js';
|
|
|
16
16
|
*/
|
|
17
17
|
export declare class EtcVfsProvider implements VFSProvider {
|
|
18
18
|
prefix: string;
|
|
19
|
-
|
|
19
|
+
/** A background re-render of the group projection in flight, if any. */
|
|
20
|
+
private groupRefresh;
|
|
20
21
|
/**
|
|
21
22
|
* Lists contents of /etc — the four virtual config files.
|
|
22
23
|
*
|
|
@@ -39,8 +40,22 @@ export declare class EtcVfsProvider implements VFSProvider {
|
|
|
39
40
|
*/
|
|
40
41
|
read(path: string): Promise<Result<string>>;
|
|
41
42
|
private computeYaml_render;
|
|
42
|
-
/**
|
|
43
|
+
/**
|
|
44
|
+
* Renders CUBE groups and their usernames in POSIX `/etc/group` form.
|
|
45
|
+
*
|
|
46
|
+
* The rendered projection lives in the listing cache (so it survives a
|
|
47
|
+
* restart with the listings) under a freshness window. A fresh projection
|
|
48
|
+
* serves as is. A stale one for the same connection and membership
|
|
49
|
+
* revision serves at once and re-renders behind itself — membership
|
|
50
|
+
* changes from outside are rare, and a boot must not wait tens of seconds
|
|
51
|
+
* for them. A local membership mutation bumps the revision and forces a
|
|
52
|
+
* synchronous re-render, as before.
|
|
53
|
+
*/
|
|
43
54
|
private group_render;
|
|
55
|
+
/** Re-renders the projection behind a stale serve; one in flight at a time. */
|
|
56
|
+
private groupProjection_refresh;
|
|
57
|
+
/** Fetches every group and its members and renders the file body. */
|
|
58
|
+
private groupProjection_build;
|
|
44
59
|
private passwd_render;
|
|
45
60
|
private cube_render;
|
|
46
61
|
}
|
|
@@ -21,12 +21,15 @@ const ETC_FILES = ['compute.yaml', 'group', 'passwd', 'cube'];
|
|
|
21
21
|
const GROUP_MEMBERSHIP_CONCURRENCY = 4;
|
|
22
22
|
/** How long external CUBE membership changes may remain cached. */
|
|
23
23
|
const GROUP_PROJECTION_TTL_MS = 5 * 60 * 1000;
|
|
24
|
+
/** The listing-cache key the rendered `/etc/group` projection lives under (so it checkpoints with the listings). */
|
|
25
|
+
const GROUP_PROJECTION_KEY = '/etc/group';
|
|
24
26
|
/**
|
|
25
27
|
* VFS provider for /etc — maps ChRIS API resources to Unix-style config files.
|
|
26
28
|
*/
|
|
27
29
|
class EtcVfsProvider {
|
|
28
30
|
prefix = '/etc';
|
|
29
|
-
|
|
31
|
+
/** A background re-render of the group projection in flight, if any. */
|
|
32
|
+
groupRefresh = null;
|
|
30
33
|
/**
|
|
31
34
|
* Lists contents of /etc — the four virtual config files.
|
|
32
35
|
*
|
|
@@ -92,18 +95,53 @@ class EtcVfsProvider {
|
|
|
92
95
|
}
|
|
93
96
|
return (0, cumin_1.Ok)(lines.join('\n') + '\n');
|
|
94
97
|
}
|
|
95
|
-
/**
|
|
98
|
+
/**
|
|
99
|
+
* Renders CUBE groups and their usernames in POSIX `/etc/group` form.
|
|
100
|
+
*
|
|
101
|
+
* The rendered projection lives in the listing cache (so it survives a
|
|
102
|
+
* restart with the listings) under a freshness window. A fresh projection
|
|
103
|
+
* serves as is. A stale one for the same connection and membership
|
|
104
|
+
* revision serves at once and re-renders behind itself — membership
|
|
105
|
+
* changes from outside are rare, and a boot must not wait tens of seconds
|
|
106
|
+
* for them. A local membership mutation bumps the revision and forces a
|
|
107
|
+
* synchronous re-render, as before.
|
|
108
|
+
*/
|
|
96
109
|
async group_render() {
|
|
97
110
|
const cubeURL = await cumin_2.chrisContext.ChRISURL_get();
|
|
98
111
|
const cubeUser = await cumin_2.chrisContext.ChRISuser_get();
|
|
99
112
|
const connectionKey = `${cubeURL ?? ''}\u0000${cubeUser ?? ''}`;
|
|
100
113
|
const membershipRevision = (0, membershipRevision_js_1.groupMembershipRevision_get)();
|
|
101
|
-
const
|
|
102
|
-
|
|
103
|
-
&&
|
|
104
|
-
&&
|
|
105
|
-
|
|
114
|
+
const cached = (0, cumin_1.listCache_get)().cache_get(GROUP_PROJECTION_KEY);
|
|
115
|
+
const usable = cached !== null
|
|
116
|
+
&& cached.data.connectionKey === connectionKey
|
|
117
|
+
&& cached.data.membershipRevision === membershipRevision;
|
|
118
|
+
if (usable && cached !== null) {
|
|
119
|
+
if (!cached.fresh)
|
|
120
|
+
void this.groupProjection_refresh(connectionKey, membershipRevision);
|
|
121
|
+
return (0, cumin_1.Ok)(cached.data.content);
|
|
106
122
|
}
|
|
123
|
+
const rendered = await this.groupProjection_build();
|
|
124
|
+
if (!rendered.ok)
|
|
125
|
+
return (0, cumin_1.Err)();
|
|
126
|
+
(0, cumin_1.listCache_get)().cache_set(GROUP_PROJECTION_KEY, { connectionKey, content: rendered.value, membershipRevision }, { ttl: GROUP_PROJECTION_TTL_MS });
|
|
127
|
+
return (0, cumin_1.Ok)(rendered.value);
|
|
128
|
+
}
|
|
129
|
+
/** Re-renders the projection behind a stale serve; one in flight at a time. */
|
|
130
|
+
groupProjection_refresh(connectionKey, membershipRevision) {
|
|
131
|
+
if (this.groupRefresh)
|
|
132
|
+
return this.groupRefresh;
|
|
133
|
+
this.groupRefresh = (async () => {
|
|
134
|
+
const rendered = await this.groupProjection_build();
|
|
135
|
+
if (!rendered.ok)
|
|
136
|
+
return;
|
|
137
|
+
(0, cumin_1.listCache_get)().cache_set(GROUP_PROJECTION_KEY, { connectionKey, content: rendered.value, membershipRevision }, { ttl: GROUP_PROJECTION_TTL_MS });
|
|
138
|
+
})()
|
|
139
|
+
.catch(() => { })
|
|
140
|
+
.finally(() => { this.groupRefresh = null; });
|
|
141
|
+
return this.groupRefresh;
|
|
142
|
+
}
|
|
143
|
+
/** Fetches every group and its members and renders the file body. */
|
|
144
|
+
async groupProjection_build() {
|
|
107
145
|
const result = await (0, cumin_2.groups_getAll)();
|
|
108
146
|
if (!result.ok)
|
|
109
147
|
return (0, cumin_1.Err)();
|
|
@@ -123,14 +161,7 @@ class EtcVfsProvider {
|
|
|
123
161
|
lines.push(`${group.name}:x:${group.id}:${usernames}`);
|
|
124
162
|
}
|
|
125
163
|
}
|
|
126
|
-
|
|
127
|
-
this.groupProjectionCache = {
|
|
128
|
-
connectionKey,
|
|
129
|
-
content,
|
|
130
|
-
expiresAt: Date.now() + GROUP_PROJECTION_TTL_MS,
|
|
131
|
-
membershipRevision,
|
|
132
|
-
};
|
|
133
|
-
return (0, cumin_1.Ok)(content);
|
|
164
|
+
return (0, cumin_1.Ok)(lines.join('\n') + '\n');
|
|
134
165
|
}
|
|
135
166
|
async passwd_render() {
|
|
136
167
|
const result = await (0, cumin_2.currentUser_get)();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"etc.js","sourceRoot":"","sources":["../../../src/vfs/providers/etc.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;;AAEH,
|
|
1
|
+
{"version":3,"file":"etc.js","sourceRoot":"","sources":["../../../src/vfs/providers/etc.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,67 @@ 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
|
+
* @returns Feed IDs the sync brought in or found changed: after a full
|
|
167
|
+
* walk, the reconciliation targets (new, changed, or active feeds); after
|
|
168
|
+
* a delta, the newly seen feeds. Empty when nothing moved or the roster
|
|
169
|
+
* was left alone.
|
|
170
|
+
*/
|
|
171
|
+
export declare function procRoster_sync(force?: boolean): Promise<number[]>;
|
|
172
|
+
/**
|
|
173
|
+
* Brings a restored roster into service at boot without walking the whole
|
|
174
|
+
* feed index: feeds newer than the highest restored id are added (one call
|
|
175
|
+
* per collection when nothing is new), and the cache is marked built so
|
|
176
|
+
* visits can begin. Counters of restored feeds stay as checkpointed until a
|
|
177
|
+
* visit or the full walk the host runs in the background afterwards.
|
|
178
|
+
*
|
|
179
|
+
* @returns The feed IDs added.
|
|
180
|
+
* @throws {Error} When not connected or the roster is empty (nothing was
|
|
181
|
+
* restored) — the host then falls back to the full index build.
|
|
182
|
+
*/
|
|
183
|
+
export declare function procRoster_bootSync(): Promise<number[]>;
|
|
184
|
+
/**
|
|
185
|
+
* Forgets all visit bookkeeping (tests, and a cache cleared underneath us).
|
|
186
|
+
*/
|
|
187
|
+
export declare function procVisitState_reset(): void;
|
|
110
188
|
/**
|
|
111
189
|
* Starts or joins the session's global plugin-instance topology sweep.
|
|
112
190
|
*
|
|
@@ -3,23 +3,39 @@
|
|
|
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.procRoster_bootSync = procRoster_bootSync;
|
|
38
|
+
exports.procVisitState_reset = procVisitState_reset;
|
|
23
39
|
exports.procTopology_warmup = procTopology_warmup;
|
|
24
40
|
exports.procTopology_reconcileFeeds = procTopology_reconcileFeeds;
|
|
25
41
|
exports.procTopology_retry = procTopology_retry;
|
|
@@ -36,6 +52,16 @@ const INSTANCE_FILES = new Set(['status', 'params', 'log', 'data']);
|
|
|
36
52
|
const FEED_FILES = new Set(['status', 'title']);
|
|
37
53
|
const PROC_JOBS_PREFIX = '/proc/jobs';
|
|
38
54
|
const PAGE = 100;
|
|
55
|
+
/** How long a settled feed's counters are trusted before a visit re-checks them. */
|
|
56
|
+
exports.FEED_RECHECK_MS = 10 * 60 * 1000;
|
|
57
|
+
/** How old the roster may be before a visit walks the whole feed index again. */
|
|
58
|
+
exports.ROSTER_FULL_WALK_MS = 10 * 60 * 1000;
|
|
59
|
+
/** Visits to one feed closer together than this share the first visit's result. */
|
|
60
|
+
exports.FEED_VISIT_COALESCE_MS = 1000;
|
|
61
|
+
const feedVisits = new Map();
|
|
62
|
+
const feedVisitInflight = new Map();
|
|
63
|
+
let rosterWalkedAt = 0;
|
|
64
|
+
let rosterSyncInflight = null;
|
|
39
65
|
let procTopologyPromise = null;
|
|
40
66
|
let procTopologyFailure;
|
|
41
67
|
let procTopologyResumeState = null;
|
|
@@ -81,9 +107,25 @@ async function procCache_build() {
|
|
|
81
107
|
await procFeeds_index((params) => (0, cumin_1.feedsPage_get)(client, params), indexed);
|
|
82
108
|
// Older CUBEs lack a public-feeds endpoint: the contract answers null
|
|
83
109
|
// without a wire call, and an empty first page ends the index loop.
|
|
110
|
+
const publicBefore = indexed.size;
|
|
84
111
|
await procFeeds_index(async (params) => (await (0, cumin_1.publicFeedsPage_get)(client, params)) ?? { data: [], totalCount: 0 }, indexed);
|
|
112
|
+
// An empty public walk while the cache already holds public feeds is a
|
|
113
|
+
// failed SOURCE, not an authoritative absence: reconciling against it
|
|
114
|
+
// would amputate every public feed from the roster (and the checkpoint
|
|
115
|
+
// watcher would persist the amputation). Keep what we know and say so.
|
|
116
|
+
if (indexed.size === publicBefore) {
|
|
117
|
+
const knownPublic = cache.feeds_find('').filter((feed) => feed.public);
|
|
118
|
+
if (knownPublic.length > 0) {
|
|
119
|
+
cumin_1.errorStack.stack_push('warning', `proc roster: public-feeds source returned nothing while ${knownPublic.length} public feeds are known; keeping them`);
|
|
120
|
+
for (const feed of knownPublic)
|
|
121
|
+
indexed.set(feed.id, feed);
|
|
122
|
+
}
|
|
123
|
+
}
|
|
85
124
|
const reconciliationTargets = cache.feeds_reconcile(Array.from(indexed.values()));
|
|
125
|
+
for (const feedID of reconciliationTargets)
|
|
126
|
+
feedVisits.delete(feedID);
|
|
86
127
|
cache.built_set();
|
|
128
|
+
rosterWalkedAt = Date.now();
|
|
87
129
|
return reconciliationTargets;
|
|
88
130
|
}
|
|
89
131
|
/** Ensures the feed index is built, building it on first access. */
|
|
@@ -104,6 +146,61 @@ function instanceMetrics_fromRow(inst) {
|
|
|
104
146
|
...(typeof inst.size === 'number' ? { outputBytes: inst.size } : {}),
|
|
105
147
|
};
|
|
106
148
|
}
|
|
149
|
+
/**
|
|
150
|
+
* Converts a CUBE plugin-instance list row into the cache's instance model.
|
|
151
|
+
*
|
|
152
|
+
* @param inst - One list row.
|
|
153
|
+
* @returns The instance as ProcCache stores it (params unresolved).
|
|
154
|
+
*/
|
|
155
|
+
function procInstance_fromRow(inst) {
|
|
156
|
+
const prevID = (inst.previous_id !== null && inst.previous_id !== undefined)
|
|
157
|
+
? Number(inst.previous_id)
|
|
158
|
+
: null;
|
|
159
|
+
return {
|
|
160
|
+
id: Number(inst.id),
|
|
161
|
+
feedID: Number(inst.feed_id),
|
|
162
|
+
parentID: prevID,
|
|
163
|
+
pluginName: String(inst.plugin_name),
|
|
164
|
+
pluginType: inst.plugin_type !== undefined ? String(inst.plugin_type) : undefined,
|
|
165
|
+
params: null,
|
|
166
|
+
outputPath: outputPath_normalize(inst.output_path) ?? undefined,
|
|
167
|
+
status: String(inst.status ?? 'unknown'),
|
|
168
|
+
...instanceMetrics_fromRow(inst),
|
|
169
|
+
};
|
|
170
|
+
}
|
|
171
|
+
/**
|
|
172
|
+
* Merges one CUBE list row into the cache: a known instance takes the row's
|
|
173
|
+
* status and metrics (terminal status never regresses), an unknown one is
|
|
174
|
+
* added to the topology.
|
|
175
|
+
*
|
|
176
|
+
* @param cache - The process cache.
|
|
177
|
+
* @param inst - One list row.
|
|
178
|
+
* @returns True when the row introduced a new instance.
|
|
179
|
+
*/
|
|
180
|
+
function procInstanceRow_merge(cache, inst) {
|
|
181
|
+
const id = Number(inst.id);
|
|
182
|
+
if (cache.instance_get(id)) {
|
|
183
|
+
cache.status_update(id, String(inst.status ?? 'unknown'));
|
|
184
|
+
cache.instanceMetrics_set(id, instanceMetrics_fromRow(inst));
|
|
185
|
+
return false;
|
|
186
|
+
}
|
|
187
|
+
cache.instance_add(procInstance_fromRow(inst));
|
|
188
|
+
return true;
|
|
189
|
+
}
|
|
190
|
+
/**
|
|
191
|
+
* The newer of two ISO timestamps, tolerant of absent values.
|
|
192
|
+
*
|
|
193
|
+
* @param a - A timestamp or null.
|
|
194
|
+
* @param b - A timestamp, or undefined when the row carried none.
|
|
195
|
+
* @returns The later of the two, or whichever exists.
|
|
196
|
+
*/
|
|
197
|
+
function isoNewest_pick(a, b) {
|
|
198
|
+
if (typeof b !== 'string' || b === '')
|
|
199
|
+
return a;
|
|
200
|
+
if (a === null)
|
|
201
|
+
return b;
|
|
202
|
+
return Date.parse(b) > Date.parse(a) ? b : a;
|
|
203
|
+
}
|
|
107
204
|
async function feedInstances_load(feedID) {
|
|
108
205
|
const cache = (0, cumin_1.procCache_get)();
|
|
109
206
|
const client = await cumin_1.chrisConnection.client_get();
|
|
@@ -114,22 +211,8 @@ async function feedInstances_load(feedID) {
|
|
|
114
211
|
for (const instance of step.items)
|
|
115
212
|
instances.set(Number(instance.id), instance);
|
|
116
213
|
}
|
|
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
|
-
}
|
|
214
|
+
for (const inst of instances.values())
|
|
215
|
+
cache.instance_add(procInstance_fromRow(inst));
|
|
133
216
|
cache.topologyLoaded_mark(feedID);
|
|
134
217
|
}
|
|
135
218
|
/**
|
|
@@ -343,6 +426,7 @@ class ProcVfsProvider {
|
|
|
343
426
|
const clean = pathStr.replace(/\/$/, '');
|
|
344
427
|
// /proc/jobs — list all feeds with aggregate status from counters
|
|
345
428
|
if (clean === PROC_JOBS_PREFIX) {
|
|
429
|
+
await procRoster_sync();
|
|
346
430
|
const items = cache.feedIDs_get().map((feedID) => {
|
|
347
431
|
const feed = cache.feed_get(feedID);
|
|
348
432
|
const status = feed ? feedStatus_derive(feed) : 'unknown';
|
|
@@ -376,13 +460,11 @@ class ProcVfsProvider {
|
|
|
376
460
|
const feed = cache.feed_get(feedID);
|
|
377
461
|
if (!feed)
|
|
378
462
|
return (0, cumin_1.Ok)([]);
|
|
463
|
+
// The initial load already carried live status and topology; a revisit
|
|
464
|
+
// is a delta (feed counters, then only what moved).
|
|
465
|
+
if (wasLoaded)
|
|
466
|
+
await feedVisit_sync(feedID);
|
|
379
467
|
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
468
|
const items = [];
|
|
387
469
|
items.push({ name: 'status', type: 'file', size: 0, owner: '', date: '' });
|
|
388
470
|
items.push({ name: 'title', type: 'file', size: 0, owner: '', date: '' });
|
|
@@ -408,10 +490,9 @@ class ProcVfsProvider {
|
|
|
408
490
|
const inst = cache.instance_get(instanceID);
|
|
409
491
|
if (!inst)
|
|
410
492
|
return (0, cumin_1.Ok)([]);
|
|
493
|
+
if (wasLoaded)
|
|
494
|
+
await feedVisit_sync(feedID);
|
|
411
495
|
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
496
|
const items = [];
|
|
416
497
|
items.push({ name: 'status', type: 'file', size: 0, owner: '', date: '' });
|
|
417
498
|
items.push({ name: 'params', type: 'file', size: 0, owner: '', date: '' });
|
|
@@ -640,6 +721,220 @@ async function feedStatus_refresh(feedID) {
|
|
|
640
721
|
}
|
|
641
722
|
}
|
|
642
723
|
}
|
|
724
|
+
// ── Visit-driven freshness ─────────────────────────────────────────────────
|
|
725
|
+
/**
|
|
726
|
+
* Whether every cached instance of a feed carries a terminal status. A fully
|
|
727
|
+
* settled feed can only change by having work appended to it, which the
|
|
728
|
+
* feed-row counters reveal.
|
|
729
|
+
*
|
|
730
|
+
* @param cache - The process cache.
|
|
731
|
+
* @param feedID - The feed to inspect.
|
|
732
|
+
* @returns True when no cached instance could still change status.
|
|
733
|
+
*/
|
|
734
|
+
function feedCached_isSettled(cache, feedID) {
|
|
735
|
+
for (const id of cache.feedInstanceIDs_get(feedID)) {
|
|
736
|
+
const inst = cache.instance_get(id);
|
|
737
|
+
if (inst === undefined || !(0, cumin_1.status_isTerminal)(inst.status))
|
|
738
|
+
return false;
|
|
739
|
+
}
|
|
740
|
+
return true;
|
|
741
|
+
}
|
|
742
|
+
/**
|
|
743
|
+
* Derives a feed's delta cursor from what the cache already holds: the newest
|
|
744
|
+
* start or end timestamp across its instances.
|
|
745
|
+
*
|
|
746
|
+
* @param cache - The process cache.
|
|
747
|
+
* @param feedID - The feed whose rows to scan.
|
|
748
|
+
* @returns The newest timestamp, or null when no row carried one.
|
|
749
|
+
*/
|
|
750
|
+
function feedCursor_derive(cache, feedID) {
|
|
751
|
+
let newest = null;
|
|
752
|
+
for (const id of cache.feedInstanceIDs_get(feedID)) {
|
|
753
|
+
const inst = cache.instance_get(id);
|
|
754
|
+
if (!inst)
|
|
755
|
+
continue;
|
|
756
|
+
newest = isoNewest_pick(newest, inst.startedAt);
|
|
757
|
+
newest = isoNewest_pick(newest, inst.finishedAt);
|
|
758
|
+
}
|
|
759
|
+
return newest;
|
|
760
|
+
}
|
|
761
|
+
/**
|
|
762
|
+
* Walks one filtered plugin-instance listing for a feed, merging every row.
|
|
763
|
+
*
|
|
764
|
+
* @param cache - The process cache.
|
|
765
|
+
* @param client - Connected chrisapi client.
|
|
766
|
+
* @param params - CUBE filter params beyond feed_id/limit/offset.
|
|
767
|
+
* @param feedID - The feed being walked.
|
|
768
|
+
* @param cursor - The cursor to advance with the rows' timestamps.
|
|
769
|
+
* @returns The advanced cursor.
|
|
770
|
+
*/
|
|
771
|
+
async function feedRows_merge(cache, client, params, feedID, cursor) {
|
|
772
|
+
let newest = cursor;
|
|
773
|
+
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 })) {
|
|
774
|
+
for (const inst of step.items) {
|
|
775
|
+
procInstanceRow_merge(cache, inst);
|
|
776
|
+
newest = isoNewest_pick(newest, inst.start_date);
|
|
777
|
+
newest = isoNewest_pick(newest, inst.end_date);
|
|
778
|
+
}
|
|
779
|
+
}
|
|
780
|
+
return newest;
|
|
781
|
+
}
|
|
782
|
+
/**
|
|
783
|
+
* Brings one already-loaded feed up to date with CUBE at the cost the change
|
|
784
|
+
* warrants: a settled feed pays one feed-row fetch per {@link FEED_RECHECK_MS};
|
|
785
|
+
* a feed with running work pays that fetch on every visit; and only when the
|
|
786
|
+
* counters moved (or work is running) does the visit walk the delta —
|
|
787
|
+
* `min_end_date` from the cursor, which yields nodes created OR finished since
|
|
788
|
+
* (CUBE stamps end_date at creation and again at completion) — followed by an
|
|
789
|
+
* `active=true` sweep for the nodes still in flight.
|
|
790
|
+
*
|
|
791
|
+
* Concurrent visits share one in-flight sync, and visits within
|
|
792
|
+
* {@link FEED_VISIT_COALESCE_MS} of each other share the first one's result
|
|
793
|
+
* (a pane tick and an `ls` in the same second are one visit). Failures are
|
|
794
|
+
* surfaced as warnings and never fail the visit: the cache stays as it was.
|
|
795
|
+
*
|
|
796
|
+
* @param feedID - A feed whose topology is already loaded.
|
|
797
|
+
* @param force - Ignore the settled-feed throttle (an explicit refresh).
|
|
798
|
+
* @returns True when the cache reflects CUBE as of this visit (including a
|
|
799
|
+
* visit that needed no wire), false when the sync failed.
|
|
800
|
+
*/
|
|
801
|
+
async function feedVisit_sync(feedID, force = false) {
|
|
802
|
+
const inflight = feedVisitInflight.get(feedID);
|
|
803
|
+
if (inflight)
|
|
804
|
+
return inflight;
|
|
805
|
+
const run = feedVisit_run(feedID, force)
|
|
806
|
+
.then(() => true)
|
|
807
|
+
.catch((error) => {
|
|
808
|
+
const msg = error instanceof Error ? error.message : String(error);
|
|
809
|
+
cumin_1.errorStack.stack_push('warning', `proc feed_${feedID}: live sync failed (${msg}); showing cached state`);
|
|
810
|
+
return false;
|
|
811
|
+
})
|
|
812
|
+
.finally(() => { feedVisitInflight.delete(feedID); });
|
|
813
|
+
feedVisitInflight.set(feedID, run);
|
|
814
|
+
return run;
|
|
815
|
+
}
|
|
816
|
+
async function feedVisit_run(feedID, force) {
|
|
817
|
+
const cache = (0, cumin_1.procCache_get)();
|
|
818
|
+
const feed = cache.feed_get(feedID);
|
|
819
|
+
if (!feed || !cache.topologyLoaded_has(feedID))
|
|
820
|
+
return;
|
|
821
|
+
const visit = feedVisits.get(feedID);
|
|
822
|
+
const settled = feedCached_isSettled(cache, feedID) && !(0, cumin_1.feed_isActive)(feed);
|
|
823
|
+
const now = Date.now();
|
|
824
|
+
if (!force && visit && now - visit.checkedAt < exports.FEED_VISIT_COALESCE_MS)
|
|
825
|
+
return;
|
|
826
|
+
if (!force && settled && visit && now - visit.checkedAt < exports.FEED_RECHECK_MS)
|
|
827
|
+
return;
|
|
828
|
+
const client = await cumin_1.chrisConnection.client_get();
|
|
829
|
+
if (!client)
|
|
830
|
+
return;
|
|
831
|
+
const page = await (0, cumin_1.feedsPage_get)(client, { id: feedID, limit: 1, offset: 0 });
|
|
832
|
+
const row = page.data[0];
|
|
833
|
+
let moved = !settled || force;
|
|
834
|
+
if (row) {
|
|
835
|
+
const fresh = procFeed_create(row);
|
|
836
|
+
if ((0, cumin_1.feedTopology_changed)(feed, fresh))
|
|
837
|
+
moved = true;
|
|
838
|
+
cache.feed_add(fresh);
|
|
839
|
+
}
|
|
840
|
+
if (!moved) {
|
|
841
|
+
feedVisits.set(feedID, { checkedAt: now, cursor: visit?.cursor ?? null });
|
|
842
|
+
return;
|
|
843
|
+
}
|
|
844
|
+
let cursor = visit?.cursor ?? feedCursor_derive(cache, feedID);
|
|
845
|
+
const since = cursor ? { min_end_date: cursor } : {};
|
|
846
|
+
cursor = await feedRows_merge(cache, client, since, feedID, cursor);
|
|
847
|
+
cursor = await feedRows_merge(cache, client, { active: true }, feedID, cursor);
|
|
848
|
+
feedVisits.set(feedID, { checkedAt: Date.now(), cursor });
|
|
849
|
+
}
|
|
850
|
+
/**
|
|
851
|
+
* Brings the feed roster up to date on a `/proc/jobs` visit. While the roster
|
|
852
|
+
* is younger than {@link ROSTER_FULL_WALK_MS} this is a delta: feeds whose id
|
|
853
|
+
* exceeds the highest known one, from both the owned/shared and the public
|
|
854
|
+
* collections (one call each when nothing is new). Once older, it is the full
|
|
855
|
+
* index walk, which is the only way a feed shared later, or one deleted, is
|
|
856
|
+
* seen. A roster still owned by warmup (not yet `current`) is left alone.
|
|
857
|
+
*
|
|
858
|
+
* @param force - Walk the whole index regardless of age.
|
|
859
|
+
* @returns Feed IDs the sync brought in or found changed: after a full
|
|
860
|
+
* walk, the reconciliation targets (new, changed, or active feeds); after
|
|
861
|
+
* a delta, the newly seen feeds. Empty when nothing moved or the roster
|
|
862
|
+
* was left alone.
|
|
863
|
+
*/
|
|
864
|
+
async function procRoster_sync(force = false) {
|
|
865
|
+
if (rosterSyncInflight)
|
|
866
|
+
return rosterSyncInflight;
|
|
867
|
+
const run = procRoster_run(force)
|
|
868
|
+
.catch((error) => {
|
|
869
|
+
const msg = error instanceof Error ? error.message : String(error);
|
|
870
|
+
cumin_1.errorStack.stack_push('warning', `proc roster: live sync failed (${msg}); showing cached roster`);
|
|
871
|
+
return [];
|
|
872
|
+
})
|
|
873
|
+
.finally(() => { rosterSyncInflight = null; });
|
|
874
|
+
rosterSyncInflight = run;
|
|
875
|
+
return run;
|
|
876
|
+
}
|
|
877
|
+
async function procRoster_run(force) {
|
|
878
|
+
const cache = (0, cumin_1.procCache_get)();
|
|
879
|
+
if (!cache.built || cache.lifecycle_get().state !== 'current')
|
|
880
|
+
return [];
|
|
881
|
+
if (force || Date.now() - rosterWalkedAt >= exports.ROSTER_FULL_WALK_MS) {
|
|
882
|
+
return procCache_build();
|
|
883
|
+
}
|
|
884
|
+
const client = await cumin_1.chrisConnection.client_get();
|
|
885
|
+
if (!client)
|
|
886
|
+
return [];
|
|
887
|
+
return procRosterDelta_run(cache, client);
|
|
888
|
+
}
|
|
889
|
+
/**
|
|
890
|
+
* Walks the feeds newer than the highest known id, in both collections,
|
|
891
|
+
* and adds them to the roster.
|
|
892
|
+
*
|
|
893
|
+
* @param cache - The process cache.
|
|
894
|
+
* @param client - Connected chrisapi client.
|
|
895
|
+
* @returns The feed IDs added.
|
|
896
|
+
*/
|
|
897
|
+
async function procRosterDelta_run(cache, client) {
|
|
898
|
+
const knownIDs = cache.feedIDs_get();
|
|
899
|
+
const minID = (knownIDs.length > 0 ? Math.max(...knownIDs) : 0) + 1;
|
|
900
|
+
const fresh = new Map();
|
|
901
|
+
await procFeeds_index((params) => (0, cumin_1.feedsPage_get)(client, { ...params, min_id: minID }), fresh);
|
|
902
|
+
await procFeeds_index(async (params) => (await (0, cumin_1.publicFeedsPage_get)(client, { ...params, min_id: minID })) ?? { data: [], totalCount: 0 }, fresh);
|
|
903
|
+
for (const feed of fresh.values())
|
|
904
|
+
cache.feed_add(feed);
|
|
905
|
+
return Array.from(fresh.keys());
|
|
906
|
+
}
|
|
907
|
+
/**
|
|
908
|
+
* Brings a restored roster into service at boot without walking the whole
|
|
909
|
+
* feed index: feeds newer than the highest restored id are added (one call
|
|
910
|
+
* per collection when nothing is new), and the cache is marked built so
|
|
911
|
+
* visits can begin. Counters of restored feeds stay as checkpointed until a
|
|
912
|
+
* visit or the full walk the host runs in the background afterwards.
|
|
913
|
+
*
|
|
914
|
+
* @returns The feed IDs added.
|
|
915
|
+
* @throws {Error} When not connected or the roster is empty (nothing was
|
|
916
|
+
* restored) — the host then falls back to the full index build.
|
|
917
|
+
*/
|
|
918
|
+
async function procRoster_bootSync() {
|
|
919
|
+
const cache = (0, cumin_1.procCache_get)();
|
|
920
|
+
if (cache.feedIDs_get().length === 0)
|
|
921
|
+
throw new Error('no restored roster to bring into service');
|
|
922
|
+
const client = await cumin_1.chrisConnection.client_get();
|
|
923
|
+
if (!client)
|
|
924
|
+
throw new Error('not connected');
|
|
925
|
+
const added = await procRosterDelta_run(cache, client);
|
|
926
|
+
cache.built_set();
|
|
927
|
+
return added;
|
|
928
|
+
}
|
|
929
|
+
/**
|
|
930
|
+
* Forgets all visit bookkeeping (tests, and a cache cleared underneath us).
|
|
931
|
+
*/
|
|
932
|
+
function procVisitState_reset() {
|
|
933
|
+
feedVisits.clear();
|
|
934
|
+
feedVisitInflight.clear();
|
|
935
|
+
rosterWalkedAt = 0;
|
|
936
|
+
rosterSyncInflight = null;
|
|
937
|
+
}
|
|
643
938
|
/**
|
|
644
939
|
* Background topology warm-up — single paginated sweep of all plugin instances
|
|
645
940
|
* across all feeds. Replaces the per-feed fan-out that was O(feeds) round trips.
|
|
@@ -673,22 +968,9 @@ async function procTopology_run(state) {
|
|
|
673
968
|
const instanceID = Number(inst.id);
|
|
674
969
|
const feedID = Number(inst.feed_id);
|
|
675
970
|
state.fetchedInstanceIDs.add(instanceID);
|
|
676
|
-
const prevID = (inst.previous_id !== null && inst.previous_id !== undefined)
|
|
677
|
-
? Number(inst.previous_id)
|
|
678
|
-
: null;
|
|
679
971
|
if (!cache.feed_get(feedID))
|
|
680
972
|
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
|
-
});
|
|
973
|
+
cache.instance_add(procInstance_fromRow(inst));
|
|
692
974
|
state.seenInstanceIDs.add(instanceID);
|
|
693
975
|
state.seenFeedIDs.add(feedID);
|
|
694
976
|
}
|
|
@@ -889,6 +1171,7 @@ async function procTopology_await() {
|
|
|
889
1171
|
async function procCache_refresh(feedID) {
|
|
890
1172
|
if (feedID !== undefined) {
|
|
891
1173
|
const cache = (0, cumin_1.procCache_get)();
|
|
1174
|
+
feedVisits.delete(feedID);
|
|
892
1175
|
cache.feed_remove(feedID);
|
|
893
1176
|
// Re-fetch feed metadata with job counters
|
|
894
1177
|
const client = await cumin_1.chrisConnection.client_get();
|
|
@@ -917,6 +1200,7 @@ async function procCache_refresh(feedID) {
|
|
|
917
1200
|
procTopologyResumeState = null;
|
|
918
1201
|
procTopologyScopedResumeFeedIDs = null;
|
|
919
1202
|
(0, cumin_1.procCache_get)().warmup_reset();
|
|
1203
|
+
feedVisits.clear();
|
|
920
1204
|
return procCache_build();
|
|
921
1205
|
}
|
|
922
1206
|
}
|
|
@@ -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.12.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.1",
|
|
63
63
|
"axios": "^1.6.8",
|
|
64
64
|
"ws": "^8.21.0"
|
|
65
65
|
}
|