@bian-womp/spark-graph 0.2.68 → 0.2.70
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/lib/cjs/index.cjs +44 -3
- package/lib/cjs/index.cjs.map +1 -1
- package/lib/cjs/src/runtime/GraphRuntime.d.ts +1 -0
- package/lib/cjs/src/runtime/GraphRuntime.d.ts.map +1 -1
- package/lib/esm/index.js +44 -3
- package/lib/esm/index.js.map +1 -1
- package/lib/esm/src/runtime/GraphRuntime.d.ts +1 -0
- package/lib/esm/src/runtime/GraphRuntime.d.ts.map +1 -1
- package/package.json +2 -2
|
@@ -58,6 +58,7 @@ export declare class GraphRuntime {
|
|
|
58
58
|
resume(): void;
|
|
59
59
|
invalidateDownstream(nodeId: string): void;
|
|
60
60
|
scheduleInputsChanged(nodeId: string): void;
|
|
61
|
+
cancelNodeRuns(nodeIds: string[]): void;
|
|
61
62
|
hydrate(payload: {
|
|
62
63
|
inputs?: Record<string, Record<string, unknown>>;
|
|
63
64
|
outputs?: Record<string, Record<string, unknown>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GraphRuntime.d.ts","sourceRoot":"","sources":["../../../../src/runtime/GraphRuntime.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"GraphRuntime.d.ts","sourceRoot":"","sources":["../../../../src/runtime/GraphRuntime.ts"],"names":[],"mappings":"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"}
|
package/lib/esm/index.js
CHANGED
|
@@ -768,11 +768,11 @@ class GraphRuntime {
|
|
|
768
768
|
await node.runtime.onInputsChanged?.(capturedInputs, ctx);
|
|
769
769
|
}
|
|
770
770
|
catch (err) {
|
|
771
|
-
// Suppress errors caused by expected cancellations (switch)
|
|
771
|
+
// Suppress errors caused by expected cancellations (switch, snapshot)
|
|
772
772
|
if (controller.signal.aborted) {
|
|
773
773
|
const reason = controller.signal.reason;
|
|
774
|
-
if (reason === "switch") {
|
|
775
|
-
return; // ignore switched runs
|
|
774
|
+
if (reason === "switch" || reason === "snapshot") {
|
|
775
|
+
return; // ignore switched/snapshot-cancelled runs
|
|
776
776
|
}
|
|
777
777
|
}
|
|
778
778
|
hadError = true;
|
|
@@ -1343,6 +1343,47 @@ class GraphRuntime {
|
|
|
1343
1343
|
scheduleInputsChanged(nodeId) {
|
|
1344
1344
|
this.scheduleInputsChangedInternal(nodeId);
|
|
1345
1345
|
}
|
|
1346
|
+
cancelNodeRuns(nodeIds) {
|
|
1347
|
+
if (nodeIds.length === 0)
|
|
1348
|
+
return;
|
|
1349
|
+
const toCancel = new Set(nodeIds);
|
|
1350
|
+
const visited = new Set();
|
|
1351
|
+
const queue = [...nodeIds];
|
|
1352
|
+
for (let i = 0; i < queue.length; i++) {
|
|
1353
|
+
const nodeId = queue[i];
|
|
1354
|
+
if (visited.has(nodeId))
|
|
1355
|
+
continue;
|
|
1356
|
+
visited.add(nodeId);
|
|
1357
|
+
for (const edge of this.edges) {
|
|
1358
|
+
if (edge.source.nodeId === nodeId) {
|
|
1359
|
+
const targetId = edge.target.nodeId;
|
|
1360
|
+
if (!visited.has(targetId)) {
|
|
1361
|
+
toCancel.add(targetId);
|
|
1362
|
+
queue.push(targetId);
|
|
1363
|
+
}
|
|
1364
|
+
}
|
|
1365
|
+
}
|
|
1366
|
+
}
|
|
1367
|
+
for (const nodeId of toCancel) {
|
|
1368
|
+
const node = this.nodes.get(nodeId);
|
|
1369
|
+
if (!node)
|
|
1370
|
+
continue;
|
|
1371
|
+
for (const controller of Array.from(node.activeControllers)) {
|
|
1372
|
+
try {
|
|
1373
|
+
controller.abort("snapshot");
|
|
1374
|
+
}
|
|
1375
|
+
catch {
|
|
1376
|
+
// ignore
|
|
1377
|
+
}
|
|
1378
|
+
}
|
|
1379
|
+
node.activeControllers.clear();
|
|
1380
|
+
node.stats.active = 0;
|
|
1381
|
+
node.queue = [];
|
|
1382
|
+
node.runSeq += 1;
|
|
1383
|
+
const now = Date.now();
|
|
1384
|
+
node.latestRunId = `${nodeId}:${node.runSeq}:${now}:snapshot`;
|
|
1385
|
+
}
|
|
1386
|
+
}
|
|
1346
1387
|
// Hydrate inputs/outputs without triggering computation; optionally re-emit outputs downstream
|
|
1347
1388
|
hydrate(payload, opts) {
|
|
1348
1389
|
const prevPaused = this.paused;
|