@yieldstar/core 0.6.0 → 0.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/base/execution.d.ts +11 -0
- package/dist/base/execution.d.ts.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -1
- package/dist/lib/execution-dispatcher.d.ts +10 -0
- package/dist/lib/execution-dispatcher.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/base/execution.ts +12 -0
- package/src/index.ts +1 -0
- package/src/lib/execution-dispatcher.ts +15 -0
package/dist/base/execution.d.ts
CHANGED
|
@@ -55,6 +55,15 @@ export type ExecutionLease = {
|
|
|
55
55
|
token: number;
|
|
56
56
|
expiresAt: number;
|
|
57
57
|
};
|
|
58
|
+
/**
|
|
59
|
+
* Limits a claim to the executions that match. The claim applies it in the same
|
|
60
|
+
* atomic step, so an execution that does not match is not leased and gains no
|
|
61
|
+
* redelivery delay.
|
|
62
|
+
*/
|
|
63
|
+
export type ExecutionClaimFilter = {
|
|
64
|
+
/** Claims only executions whose ID is in this list. An empty list claims nothing. */
|
|
65
|
+
executionIds?: readonly string[];
|
|
66
|
+
};
|
|
58
67
|
/**
|
|
59
68
|
* Returned by a fenced write whose lease is no longer current: a higher token
|
|
60
69
|
* has been issued, or the lease has ended. The write changed nothing, and its
|
|
@@ -169,6 +178,8 @@ export interface ExecutionClient {
|
|
|
169
178
|
claimDue(request: {
|
|
170
179
|
limit: number;
|
|
171
180
|
duration: number;
|
|
181
|
+
/** When absent, any execution whose due time has passed may be claimed. */
|
|
182
|
+
filter?: ExecutionClaimFilter;
|
|
172
183
|
}): Promise<ExecutionLease[]>;
|
|
173
184
|
/**
|
|
174
185
|
* Extends a lease to `duration` milliseconds from now. Returns `lost` if a
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execution.d.ts","sourceRoot":"","sources":["../../src/base/execution.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"execution.d.ts","sourceRoot":"","sources":["../../src/base/execution.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ export type { DeliveryOptions, WorkflowInvoker } from "./base/invoker";
|
|
|
3
3
|
export { WorkerExitedError } from "./base/invoker";
|
|
4
4
|
export type { RuntimeOptions } from "./base/runtime";
|
|
5
5
|
export { Runtime } from "./base/runtime";
|
|
6
|
-
export type { ExecutionAcknowledgeResult, ExecutionAdmissionErrorCode, ExecutionAdmissionRequest, ExecutionAdmissionResult, ExecutionClient, ExecutionLease, ExecutionOutcome, ExecutionParent, ExecutionRecord, ExecutionReleaseResult, ExecutionRenewResult, ExecutionStartRequest, ExecutionStartResult, ExecutionStatus, ExecutionWakeResult, LeaseLost, WorkflowRunOutcome, WorkflowStartErrorCode, } from "./base/execution";
|
|
6
|
+
export type { ExecutionAcknowledgeResult, ExecutionAdmissionErrorCode, ExecutionAdmissionRequest, ExecutionAdmissionResult, ExecutionClaimFilter, ExecutionClient, ExecutionLease, ExecutionOutcome, ExecutionParent, ExecutionRecord, ExecutionReleaseResult, ExecutionRenewResult, ExecutionStartRequest, ExecutionStartResult, ExecutionStatus, ExecutionWakeResult, LeaseLost, WorkflowRunOutcome, WorkflowStartErrorCode, } from "./base/execution";
|
|
7
7
|
export { ExecutionAdmissionError, InfrastructureError, LeaseLostError, StepConflictError, WorkflowStartError, isLeaseLost, isTerminalExecutionStatus, } from "./base/execution";
|
|
8
8
|
export type { EffectBeginRequest, EffectBeginResult, EffectClient, EffectConflictReport, EffectDeliveryErrorCode, EffectRecord, EffectSettleRequest, EffectSettleResult, EffectWatchRequest, WorkflowEffectErrorCode, } from "./base/effect";
|
|
9
9
|
export { EffectClientInvariantError, EffectDeliveryError, WorkflowEffectError, } from "./base/effect";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1071,6 +1071,7 @@ class ExecutionDispatcher {
|
|
|
1071
1071
|
leaseDuration;
|
|
1072
1072
|
renewInterval;
|
|
1073
1073
|
abortGracePeriod;
|
|
1074
|
+
filter;
|
|
1074
1075
|
running = false;
|
|
1075
1076
|
looping = false;
|
|
1076
1077
|
timer;
|
|
@@ -1086,6 +1087,7 @@ class ExecutionDispatcher {
|
|
|
1086
1087
|
this.leaseDuration = options.leaseDuration ?? DEFAULT_LEASE_DURATION;
|
|
1087
1088
|
this.renewInterval = options.renewInterval ?? this.leaseDuration / 3;
|
|
1088
1089
|
this.abortGracePeriod = options.abortGracePeriod ?? DEFAULT_ABORT_GRACE_PERIOD;
|
|
1090
|
+
this.filter = options.filter;
|
|
1089
1091
|
if (!Number.isInteger(this.concurrency) || this.concurrency < 1) {
|
|
1090
1092
|
throw new RangeError("concurrency must be a positive integer");
|
|
1091
1093
|
}
|
|
@@ -1098,6 +1100,9 @@ class ExecutionDispatcher {
|
|
|
1098
1100
|
if (!(this.abortGracePeriod >= 0)) {
|
|
1099
1101
|
throw new RangeError("abortGracePeriod must not be negative");
|
|
1100
1102
|
}
|
|
1103
|
+
if (this.filter?.executionIds?.length === 0) {
|
|
1104
|
+
throw new RangeError("filter.executionIds must not be empty");
|
|
1105
|
+
}
|
|
1101
1106
|
}
|
|
1102
1107
|
start() {
|
|
1103
1108
|
if (this.running)
|
|
@@ -1124,7 +1129,8 @@ class ExecutionDispatcher {
|
|
|
1124
1129
|
try {
|
|
1125
1130
|
leases = await this.runtime.executions.claimDue({
|
|
1126
1131
|
limit: slots,
|
|
1127
|
-
duration: this.leaseDuration
|
|
1132
|
+
duration: this.leaseDuration,
|
|
1133
|
+
filter: this.filter
|
|
1128
1134
|
});
|
|
1129
1135
|
} finally {
|
|
1130
1136
|
this.claiming -= slots;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { Logger } from "pino";
|
|
2
2
|
import type { WorkflowInvoker } from "../base/invoker";
|
|
3
3
|
import type { Runtime } from "../base/runtime";
|
|
4
|
+
import type { ExecutionClaimFilter } from "../base/execution";
|
|
4
5
|
export declare const DEFAULT_DISPATCHER_CONCURRENCY = 10;
|
|
5
6
|
export declare const DEFAULT_ABORT_GRACE_PERIOD = 1000;
|
|
6
7
|
export interface DispatcherOptions {
|
|
@@ -28,6 +29,14 @@ export interface DispatcherOptions {
|
|
|
28
29
|
* @default 1_000
|
|
29
30
|
*/
|
|
30
31
|
abortGracePeriod?: number;
|
|
32
|
+
/**
|
|
33
|
+
* Delivers only the executions that match. It is passed to every `claimDue`,
|
|
34
|
+
* so other executions are never claimed and gain no redelivery delay. An
|
|
35
|
+
* empty `executionIds` list is rejected, since the dispatcher would never
|
|
36
|
+
* deliver anything.
|
|
37
|
+
* @default every execution whose due time has passed
|
|
38
|
+
*/
|
|
39
|
+
filter?: ExecutionClaimFilter;
|
|
31
40
|
}
|
|
32
41
|
/**
|
|
33
42
|
* The only component that delivers executions. It leases due executions, reads
|
|
@@ -60,6 +69,7 @@ export declare class ExecutionDispatcher {
|
|
|
60
69
|
private leaseDuration;
|
|
61
70
|
private renewInterval;
|
|
62
71
|
private abortGracePeriod;
|
|
72
|
+
private filter;
|
|
63
73
|
private running;
|
|
64
74
|
private looping;
|
|
65
75
|
private timer;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execution-dispatcher.d.ts","sourceRoot":"","sources":["../../src/lib/execution-dispatcher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AACnC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAEvD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"execution-dispatcher.d.ts","sourceRoot":"","sources":["../../src/lib/execution-dispatcher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AACnC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAEvD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,KAAK,EAEV,oBAAoB,EAGrB,MAAM,mBAAmB,CAAC;AAI3B,eAAO,MAAM,8BAA8B,KAAK,CAAC;AAEjD,eAAO,MAAM,0BAA0B,OAAQ,CAAC;AAIhD,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,eAAe,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,iFAAiF;IACjF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mEAAmE;IACnE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,4EAA4E;IAC5E,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,iFAAiF;IACjF,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,oBAAoB,CAAC;CAC/B;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,OAAO,CAAkB;IACjC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,SAAS,CAAU;IAC3B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,MAAM,CAAmC;IACjD,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,KAAK,CAA4C;IACzD,OAAO,CAAC,QAAQ,CAA4B;IAC5C,2DAA2D;IAC3D,OAAO,CAAC,QAAQ,CAAK;gBAET,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,iBAAiB;IA4BxD,KAAK;IAML,mEAAmE;IAC7D,IAAI;IAOV,IAAI,gBAAgB,WAEnB;IAED;;;;OAIG;IACG,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC;IAyB7B,yDAAyD;IACnD,KAAK;IAMX,OAAO,CAAC,QAAQ;YASF,IAAI;YAiBJ,QAAQ;IAiFtB;;;;;OAKG;IACH,OAAO,CAAC,iBAAiB;IAiDzB;;;;;OAKG;IACH,OAAO,CAAC,KAAK;IAiDb,OAAO,CAAC,QAAQ;IAOhB,OAAO,CAAC,IAAI;CAOb"}
|
package/package.json
CHANGED
package/src/base/execution.ts
CHANGED
|
@@ -62,6 +62,16 @@ export type ExecutionLease = {
|
|
|
62
62
|
expiresAt: number;
|
|
63
63
|
};
|
|
64
64
|
|
|
65
|
+
/**
|
|
66
|
+
* Limits a claim to the executions that match. The claim applies it in the same
|
|
67
|
+
* atomic step, so an execution that does not match is not leased and gains no
|
|
68
|
+
* redelivery delay.
|
|
69
|
+
*/
|
|
70
|
+
export type ExecutionClaimFilter = {
|
|
71
|
+
/** Claims only executions whose ID is in this list. An empty list claims nothing. */
|
|
72
|
+
executionIds?: readonly string[];
|
|
73
|
+
};
|
|
74
|
+
|
|
65
75
|
/**
|
|
66
76
|
* Returned by a fenced write whose lease is no longer current: a higher token
|
|
67
77
|
* has been issued, or the lease has ended. The write changed nothing, and its
|
|
@@ -184,6 +194,8 @@ export interface ExecutionClient {
|
|
|
184
194
|
claimDue(request: {
|
|
185
195
|
limit: number;
|
|
186
196
|
duration: number;
|
|
197
|
+
/** When absent, any execution whose due time has passed may be claimed. */
|
|
198
|
+
filter?: ExecutionClaimFilter;
|
|
187
199
|
}): Promise<ExecutionLease[]>;
|
|
188
200
|
|
|
189
201
|
/**
|
package/src/index.ts
CHANGED
|
@@ -4,6 +4,7 @@ import { WorkerExitedError } from "../base/invoker";
|
|
|
4
4
|
import type { Runtime } from "../base/runtime";
|
|
5
5
|
import type {
|
|
6
6
|
ExecutionAcknowledgeResult,
|
|
7
|
+
ExecutionClaimFilter,
|
|
7
8
|
ExecutionLease,
|
|
8
9
|
WorkflowRunOutcome,
|
|
9
10
|
} from "../base/execution";
|
|
@@ -41,6 +42,14 @@ export interface DispatcherOptions {
|
|
|
41
42
|
* @default 1_000
|
|
42
43
|
*/
|
|
43
44
|
abortGracePeriod?: number;
|
|
45
|
+
/**
|
|
46
|
+
* Delivers only the executions that match. It is passed to every `claimDue`,
|
|
47
|
+
* so other executions are never claimed and gain no redelivery delay. An
|
|
48
|
+
* empty `executionIds` list is rejected, since the dispatcher would never
|
|
49
|
+
* deliver anything.
|
|
50
|
+
* @default every execution whose due time has passed
|
|
51
|
+
*/
|
|
52
|
+
filter?: ExecutionClaimFilter;
|
|
44
53
|
}
|
|
45
54
|
|
|
46
55
|
/**
|
|
@@ -74,6 +83,7 @@ export class ExecutionDispatcher {
|
|
|
74
83
|
private leaseDuration: number;
|
|
75
84
|
private renewInterval: number;
|
|
76
85
|
private abortGracePeriod: number;
|
|
86
|
+
private filter: ExecutionClaimFilter | undefined;
|
|
77
87
|
private running = false;
|
|
78
88
|
private looping = false;
|
|
79
89
|
private timer: ReturnType<typeof setTimeout> | undefined;
|
|
@@ -91,6 +101,7 @@ export class ExecutionDispatcher {
|
|
|
91
101
|
this.leaseDuration = options.leaseDuration ?? DEFAULT_LEASE_DURATION;
|
|
92
102
|
this.renewInterval = options.renewInterval ?? this.leaseDuration / 3;
|
|
93
103
|
this.abortGracePeriod = options.abortGracePeriod ?? DEFAULT_ABORT_GRACE_PERIOD;
|
|
104
|
+
this.filter = options.filter;
|
|
94
105
|
if (!Number.isInteger(this.concurrency) || this.concurrency < 1) {
|
|
95
106
|
throw new RangeError("concurrency must be a positive integer");
|
|
96
107
|
}
|
|
@@ -103,6 +114,9 @@ export class ExecutionDispatcher {
|
|
|
103
114
|
if (!(this.abortGracePeriod >= 0)) {
|
|
104
115
|
throw new RangeError("abortGracePeriod must not be negative");
|
|
105
116
|
}
|
|
117
|
+
if (this.filter?.executionIds?.length === 0) {
|
|
118
|
+
throw new RangeError("filter.executionIds must not be empty");
|
|
119
|
+
}
|
|
106
120
|
}
|
|
107
121
|
|
|
108
122
|
start() {
|
|
@@ -137,6 +151,7 @@ export class ExecutionDispatcher {
|
|
|
137
151
|
leases = await this.runtime.executions.claimDue({
|
|
138
152
|
limit: slots,
|
|
139
153
|
duration: this.leaseDuration,
|
|
154
|
+
filter: this.filter,
|
|
140
155
|
});
|
|
141
156
|
} finally {
|
|
142
157
|
this.claiming -= slots;
|