@emmvish/stable-request 1.7.3 → 1.8.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/README.md +457 -0
- package/dist/core/stable-api-gateway.d.ts +2 -2
- package/dist/core/stable-api-gateway.d.ts.map +1 -1
- package/dist/core/stable-api-gateway.js +58 -4
- package/dist/core/stable-api-gateway.js.map +1 -1
- package/dist/core/stable-request.d.ts +2 -2
- package/dist/core/stable-request.d.ts.map +1 -1
- package/dist/core/stable-request.js +35 -5
- package/dist/core/stable-request.js.map +1 -1
- package/dist/core/stable-workflow.d.ts.map +1 -1
- package/dist/core/stable-workflow.js +23 -8
- package/dist/core/stable-workflow.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/types/index.d.ts +258 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/utilities/cache-manager.d.ts +19 -0
- package/dist/utilities/cache-manager.d.ts.map +1 -1
- package/dist/utilities/cache-manager.js +38 -2
- package/dist/utilities/cache-manager.js.map +1 -1
- package/dist/utilities/circuit-breaker.d.ts +22 -0
- package/dist/utilities/circuit-breaker.d.ts.map +1 -1
- package/dist/utilities/circuit-breaker.js +65 -1
- package/dist/utilities/circuit-breaker.js.map +1 -1
- package/dist/utilities/concurrency-limiter.d.ts +26 -0
- package/dist/utilities/concurrency-limiter.d.ts.map +1 -1
- package/dist/utilities/concurrency-limiter.js +74 -4
- package/dist/utilities/concurrency-limiter.js.map +1 -1
- package/dist/utilities/execute-branch-workflow.d.ts.map +1 -1
- package/dist/utilities/execute-branch-workflow.js +115 -19
- package/dist/utilities/execute-branch-workflow.js.map +1 -1
- package/dist/utilities/execute-concurrently.d.ts.map +1 -1
- package/dist/utilities/execute-concurrently.js +5 -6
- package/dist/utilities/execute-concurrently.js.map +1 -1
- package/dist/utilities/execute-non-linear-workflow.d.ts.map +1 -1
- package/dist/utilities/execute-non-linear-workflow.js +47 -3
- package/dist/utilities/execute-non-linear-workflow.js.map +1 -1
- package/dist/utilities/execute-phase.d.ts +1 -1
- package/dist/utilities/execute-phase.d.ts.map +1 -1
- package/dist/utilities/execute-phase.js +45 -17
- package/dist/utilities/execute-phase.js.map +1 -1
- package/dist/utilities/execute-sequentially.d.ts.map +1 -1
- package/dist/utilities/execute-sequentially.js +5 -6
- package/dist/utilities/execute-sequentially.js.map +1 -1
- package/dist/utilities/index.d.ts +4 -3
- package/dist/utilities/index.d.ts.map +1 -1
- package/dist/utilities/index.js +4 -3
- package/dist/utilities/index.js.map +1 -1
- package/dist/utilities/metrics-aggregator.d.ts +51 -0
- package/dist/utilities/metrics-aggregator.d.ts.map +1 -0
- package/dist/utilities/metrics-aggregator.js +311 -0
- package/dist/utilities/metrics-aggregator.js.map +1 -0
- package/dist/utilities/rate-limiter.d.ts +19 -0
- package/dist/utilities/rate-limiter.d.ts.map +1 -1
- package/dist/utilities/rate-limiter.js +56 -3
- package/dist/utilities/rate-limiter.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"circuit-breaker.d.ts","sourceRoot":"","sources":["../../src/utilities/circuit-breaker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAExD,qBAAa,cAAc;IACvB,OAAO,CAAC,KAAK,CAAmD;IAChE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiC;IAExD,OAAO,CAAC,aAAa,CAAa;IAClC,OAAO,CAAC,cAAc,CAAa;IACnC,OAAO,CAAC,kBAAkB,CAAa;IAEvC,OAAO,CAAC,aAAa,CAAa;IAClC,OAAO,CAAC,cAAc,CAAa;IACnC,OAAO,CAAC,kBAAkB,CAAa;IAEvC,OAAO,CAAC,eAAe,CAAa;IACpC,OAAO,CAAC,gBAAgB,CAAa;IACrC,OAAO,CAAC,iBAAiB,CAAa;IACtC,OAAO,CAAC,gBAAgB,CAAa;gBAEzB,MAAM,EAAE,oBAAoB;IAWlC,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC;IAqBpC,aAAa,IAAI,IAAI;IAerB,aAAa,IAAI,IAAI;IAcrB,oBAAoB,IAAI,IAAI;IAc5B,oBAAoB,IAAI,IAAI;IAY5B,OAAO,CAAC,cAAc;IAYtB,OAAO,CAAC,qBAAqB;IAY7B,OAAO,CAAC,uBAAuB;IAY/B,OAAO,CAAC,kBAAkB;
|
|
1
|
+
{"version":3,"file":"circuit-breaker.d.ts","sourceRoot":"","sources":["../../src/utilities/circuit-breaker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAExD,qBAAa,cAAc;IACvB,OAAO,CAAC,KAAK,CAAmD;IAChE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiC;IAExD,OAAO,CAAC,aAAa,CAAa;IAClC,OAAO,CAAC,cAAc,CAAa;IACnC,OAAO,CAAC,kBAAkB,CAAa;IAEvC,OAAO,CAAC,aAAa,CAAa;IAClC,OAAO,CAAC,cAAc,CAAa;IACnC,OAAO,CAAC,kBAAkB,CAAa;IAEvC,OAAO,CAAC,eAAe,CAAa;IACpC,OAAO,CAAC,gBAAgB,CAAa;IACrC,OAAO,CAAC,iBAAiB,CAAa;IACtC,OAAO,CAAC,gBAAgB,CAAa;IAErC,OAAO,CAAC,gBAAgB,CAAa;IACrC,OAAO,CAAC,mBAAmB,CAAsB;IACjD,OAAO,CAAC,SAAS,CAAa;IAC9B,OAAO,CAAC,aAAa,CAAa;IAClC,OAAO,CAAC,iBAAiB,CAAa;IACtC,OAAO,CAAC,YAAY,CAAa;IACjC,OAAO,CAAC,gBAAgB,CAAa;IACrC,OAAO,CAAC,oBAAoB,CAAa;IACzC,OAAO,CAAC,gBAAgB,CAAa;gBAEzB,MAAM,EAAE,oBAAoB;IAWlC,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC;IAqBpC,aAAa,IAAI,IAAI;IAerB,aAAa,IAAI,IAAI;IAcrB,oBAAoB,IAAI,IAAI;IAc5B,oBAAoB,IAAI,IAAI;IAY5B,OAAO,CAAC,cAAc;IAYtB,OAAO,CAAC,qBAAqB;IAY7B,OAAO,CAAC,uBAAuB;IAY/B,OAAO,CAAC,kBAAkB;IAe1B,OAAO,CAAC,gBAAgB;IAaxB,OAAO,CAAC,oBAAoB;IAa5B,OAAO,CAAC,mBAAmB;IAO3B,OAAO,CAAC,aAAa;IASrB,OAAO,CAAC,qBAAqB;IAM7B,QAAQ,IAAI;QACR,KAAK,EAAE,mBAAmB,CAAC;QAC3B,aAAa,EAAE,MAAM,CAAC;QACtB,cAAc,EAAE,MAAM,CAAC;QACvB,kBAAkB,EAAE,MAAM,CAAC;QAC3B,iBAAiB,EAAE,MAAM,CAAC;QAC1B,aAAa,EAAE,MAAM,CAAC;QACtB,cAAc,EAAE,MAAM,CAAC;QACvB,kBAAkB,EAAE,MAAM,CAAC;QAC3B,wBAAwB,EAAE,MAAM,CAAC;QACjC,MAAM,EAAE,QAAQ,CAAC,oBAAoB,CAAC,CAAC;QACvC,gBAAgB,EAAE,MAAM,CAAC;QACzB,mBAAmB,EAAE,MAAM,CAAC;QAC5B,SAAS,EAAE,MAAM,CAAC;QAClB,aAAa,EAAE,MAAM,CAAC;QACtB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,mBAAmB,EAAE,MAAM,CAAC;QAC5B,gBAAgB,EAAE,MAAM,CAAC;QACzB,oBAAoB,EAAE,MAAM,CAAC;QAC7B,gBAAgB,EAAE,MAAM,CAAC;QACzB,mBAAmB,EAAE,MAAM,CAAC;QAC5B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;KAC5B;IAqCD,KAAK,IAAI,IAAI;IAOP,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;CAkBrD;AAED,qBAAa,uBAAwB,SAAQ,KAAK;gBAClC,OAAO,EAAE,MAAM;CAI9B;AAID,wBAAgB,uBAAuB,CAAC,MAAM,CAAC,EAAE,oBAAoB,GAAG,cAAc,CAKrF;AAED,wBAAgB,yBAAyB,IAAI,IAAI,CAKhD"}
|
|
@@ -12,6 +12,15 @@ export class CircuitBreaker {
|
|
|
12
12
|
halfOpenRequests = 0;
|
|
13
13
|
halfOpenSuccesses = 0;
|
|
14
14
|
halfOpenFailures = 0;
|
|
15
|
+
stateTransitions = 0;
|
|
16
|
+
lastStateChangeTime = Date.now();
|
|
17
|
+
openCount = 0;
|
|
18
|
+
halfOpenCount = 0;
|
|
19
|
+
totalOpenDuration = 0;
|
|
20
|
+
lastOpenTime = 0;
|
|
21
|
+
recoveryAttempts = 0;
|
|
22
|
+
successfulRecoveries = 0;
|
|
23
|
+
failedRecoveries = 0;
|
|
15
24
|
constructor(config) {
|
|
16
25
|
this.config = {
|
|
17
26
|
failureThresholdPercentage: Math.max(0, Math.min(100, config.failureThresholdPercentage)),
|
|
@@ -118,16 +127,41 @@ export class CircuitBreaker {
|
|
|
118
127
|
}
|
|
119
128
|
}
|
|
120
129
|
transitionToClosed() {
|
|
130
|
+
const now = Date.now();
|
|
131
|
+
if (this.state === CircuitBreakerState.HALF_OPEN) {
|
|
132
|
+
this.successfulRecoveries++;
|
|
133
|
+
}
|
|
134
|
+
if (this.state === CircuitBreakerState.OPEN && this.lastOpenTime > 0) {
|
|
135
|
+
this.totalOpenDuration += (now - this.lastOpenTime);
|
|
136
|
+
}
|
|
121
137
|
this.state = CircuitBreakerState.CLOSED;
|
|
138
|
+
this.lastStateChangeTime = now;
|
|
139
|
+
this.stateTransitions++;
|
|
122
140
|
this.resetCounters();
|
|
123
141
|
this.resetHalfOpenCounters();
|
|
124
142
|
}
|
|
125
143
|
transitionToOpen() {
|
|
144
|
+
const now = Date.now();
|
|
145
|
+
if (this.state === CircuitBreakerState.HALF_OPEN) {
|
|
146
|
+
this.failedRecoveries++;
|
|
147
|
+
}
|
|
126
148
|
this.state = CircuitBreakerState.OPEN;
|
|
149
|
+
this.lastStateChangeTime = now;
|
|
150
|
+
this.lastOpenTime = now;
|
|
151
|
+
this.stateTransitions++;
|
|
152
|
+
this.openCount++;
|
|
127
153
|
this.resetHalfOpenCounters();
|
|
128
154
|
}
|
|
129
155
|
transitionToHalfOpen() {
|
|
156
|
+
const now = Date.now();
|
|
157
|
+
if (this.state === CircuitBreakerState.OPEN && this.lastOpenTime > 0) {
|
|
158
|
+
this.totalOpenDuration += (now - this.lastOpenTime);
|
|
159
|
+
}
|
|
130
160
|
this.state = CircuitBreakerState.HALF_OPEN;
|
|
161
|
+
this.lastStateChangeTime = now;
|
|
162
|
+
this.stateTransitions++;
|
|
163
|
+
this.halfOpenCount++;
|
|
164
|
+
this.recoveryAttempts++;
|
|
131
165
|
this.resetHalfOpenCounters();
|
|
132
166
|
}
|
|
133
167
|
shouldResetCounters() {
|
|
@@ -150,6 +184,10 @@ export class CircuitBreaker {
|
|
|
150
184
|
this.halfOpenFailures = 0;
|
|
151
185
|
}
|
|
152
186
|
getState() {
|
|
187
|
+
const now = Date.now();
|
|
188
|
+
const openUntil = this.state === CircuitBreakerState.OPEN
|
|
189
|
+
? this.lastFailureTime + this.config.recoveryTimeoutMs
|
|
190
|
+
: null;
|
|
153
191
|
return {
|
|
154
192
|
state: this.state,
|
|
155
193
|
totalRequests: this.totalRequests,
|
|
@@ -164,7 +202,20 @@ export class CircuitBreaker {
|
|
|
164
202
|
attemptFailurePercentage: this.totalAttempts > 0
|
|
165
203
|
? (this.failedAttempts / this.totalAttempts) * 100
|
|
166
204
|
: 0,
|
|
167
|
-
config: this.config
|
|
205
|
+
config: this.config,
|
|
206
|
+
stateTransitions: this.stateTransitions,
|
|
207
|
+
lastStateChangeTime: this.lastStateChangeTime,
|
|
208
|
+
openCount: this.openCount,
|
|
209
|
+
halfOpenCount: this.halfOpenCount,
|
|
210
|
+
totalOpenDuration: this.totalOpenDuration,
|
|
211
|
+
averageOpenDuration: this.openCount > 0 ? this.totalOpenDuration / this.openCount : 0,
|
|
212
|
+
recoveryAttempts: this.recoveryAttempts,
|
|
213
|
+
successfulRecoveries: this.successfulRecoveries,
|
|
214
|
+
failedRecoveries: this.failedRecoveries,
|
|
215
|
+
recoverySuccessRate: this.recoveryAttempts > 0
|
|
216
|
+
? (this.successfulRecoveries / this.recoveryAttempts) * 100
|
|
217
|
+
: 0,
|
|
218
|
+
openUntil: openUntil
|
|
168
219
|
};
|
|
169
220
|
}
|
|
170
221
|
reset() {
|
|
@@ -195,4 +246,17 @@ export class CircuitBreakerOpenError extends Error {
|
|
|
195
246
|
this.name = 'CircuitBreakerOpenError';
|
|
196
247
|
}
|
|
197
248
|
}
|
|
249
|
+
let globalCircuitBreaker = null;
|
|
250
|
+
export function getGlobalCircuitBreaker(config) {
|
|
251
|
+
if (!globalCircuitBreaker && config) {
|
|
252
|
+
globalCircuitBreaker = new CircuitBreaker(config);
|
|
253
|
+
}
|
|
254
|
+
return globalCircuitBreaker;
|
|
255
|
+
}
|
|
256
|
+
export function resetGlobalCircuitBreaker() {
|
|
257
|
+
if (globalCircuitBreaker) {
|
|
258
|
+
globalCircuitBreaker.reset();
|
|
259
|
+
}
|
|
260
|
+
globalCircuitBreaker = null;
|
|
261
|
+
}
|
|
198
262
|
//# sourceMappingURL=circuit-breaker.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"circuit-breaker.js","sourceRoot":"","sources":["../../src/utilities/circuit-breaker.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"circuit-breaker.js","sourceRoot":"","sources":["../../src/utilities/circuit-breaker.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,10 +2,36 @@ export declare class ConcurrencyLimiter {
|
|
|
2
2
|
private readonly limit;
|
|
3
3
|
private running;
|
|
4
4
|
private readonly queue;
|
|
5
|
+
private totalRequests;
|
|
6
|
+
private completedRequests;
|
|
7
|
+
private failedRequests;
|
|
8
|
+
private queuedRequests;
|
|
9
|
+
private peakConcurrency;
|
|
10
|
+
private peakQueueLength;
|
|
11
|
+
private totalQueueWaitTime;
|
|
12
|
+
private totalExecutionTime;
|
|
13
|
+
private queueWaitTimes;
|
|
5
14
|
constructor(limit: number);
|
|
6
15
|
private acquire;
|
|
7
16
|
private release;
|
|
8
17
|
execute<T>(fn: () => Promise<T>): Promise<T>;
|
|
9
18
|
executeAll<T>(fns: Array<() => Promise<T>>): Promise<T[]>;
|
|
19
|
+
getState(): {
|
|
20
|
+
limit: number;
|
|
21
|
+
running: number;
|
|
22
|
+
queueLength: number;
|
|
23
|
+
totalRequests: number;
|
|
24
|
+
completedRequests: number;
|
|
25
|
+
failedRequests: number;
|
|
26
|
+
queuedRequests: number;
|
|
27
|
+
successRate: number;
|
|
28
|
+
peakConcurrency: number;
|
|
29
|
+
peakQueueLength: number;
|
|
30
|
+
averageQueueWaitTime: number;
|
|
31
|
+
averageExecutionTime: number;
|
|
32
|
+
utilizationPercentage: number;
|
|
33
|
+
};
|
|
10
34
|
}
|
|
35
|
+
export declare function getGlobalConcurrencyLimiter(limit?: number): ConcurrencyLimiter;
|
|
36
|
+
export declare function resetGlobalConcurrencyLimiter(): void;
|
|
11
37
|
//# sourceMappingURL=concurrency-limiter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"concurrency-limiter.d.ts","sourceRoot":"","sources":["../../src/utilities/concurrency-limiter.ts"],"names":[],"mappings":"AAAA,qBAAa,kBAAkB;IAC3B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,OAAO,CAAa;IAC5B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAyB;
|
|
1
|
+
{"version":3,"file":"concurrency-limiter.d.ts","sourceRoot":"","sources":["../../src/utilities/concurrency-limiter.ts"],"names":[],"mappings":"AAAA,qBAAa,kBAAkB;IAC3B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,OAAO,CAAa;IAC5B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAyB;IAC/C,OAAO,CAAC,aAAa,CAAa;IAClC,OAAO,CAAC,iBAAiB,CAAa;IACtC,OAAO,CAAC,cAAc,CAAa;IACnC,OAAO,CAAC,cAAc,CAAa;IACnC,OAAO,CAAC,eAAe,CAAa;IACpC,OAAO,CAAC,eAAe,CAAa;IACpC,OAAO,CAAC,kBAAkB,CAAa;IACvC,OAAO,CAAC,kBAAkB,CAAa;IACvC,OAAO,CAAC,cAAc,CAAgB;gBAE1B,KAAK,EAAE,MAAM;YAIX,OAAO;IAsBrB,OAAO,CAAC,OAAO;IAUT,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAqB5C,UAAU,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IAI/D,QAAQ;;;;;;;;;;;;;;;CA8BX;AAID,wBAAgB,2BAA2B,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,kBAAkB,CAK9E;AAED,wBAAgB,6BAA6B,IAAI,IAAI,CAEpD"}
|
|
@@ -2,16 +2,34 @@ export class ConcurrencyLimiter {
|
|
|
2
2
|
limit;
|
|
3
3
|
running = 0;
|
|
4
4
|
queue = [];
|
|
5
|
+
totalRequests = 0;
|
|
6
|
+
completedRequests = 0;
|
|
7
|
+
failedRequests = 0;
|
|
8
|
+
queuedRequests = 0;
|
|
9
|
+
peakConcurrency = 0;
|
|
10
|
+
peakQueueLength = 0;
|
|
11
|
+
totalQueueWaitTime = 0;
|
|
12
|
+
totalExecutionTime = 0;
|
|
13
|
+
queueWaitTimes = [];
|
|
5
14
|
constructor(limit) {
|
|
6
15
|
this.limit = Math.max(1, Math.floor(limit));
|
|
7
16
|
}
|
|
8
17
|
async acquire() {
|
|
18
|
+
const queueStartTime = Date.now();
|
|
9
19
|
if (this.running < this.limit) {
|
|
10
20
|
this.running++;
|
|
11
|
-
|
|
21
|
+
this.peakConcurrency = Math.max(this.peakConcurrency, this.running);
|
|
22
|
+
return Promise.resolve({ queueWaitTime: 0 });
|
|
12
23
|
}
|
|
24
|
+
this.queuedRequests++;
|
|
13
25
|
return new Promise((resolve) => {
|
|
14
|
-
this.queue.push(
|
|
26
|
+
this.queue.push(() => {
|
|
27
|
+
const queueWaitTime = Date.now() - queueStartTime;
|
|
28
|
+
this.totalQueueWaitTime += queueWaitTime;
|
|
29
|
+
this.queueWaitTimes.push(queueWaitTime);
|
|
30
|
+
resolve({ queueWaitTime });
|
|
31
|
+
});
|
|
32
|
+
this.peakQueueLength = Math.max(this.peakQueueLength, this.queue.length);
|
|
15
33
|
});
|
|
16
34
|
}
|
|
17
35
|
release() {
|
|
@@ -19,13 +37,26 @@ export class ConcurrencyLimiter {
|
|
|
19
37
|
const next = this.queue.shift();
|
|
20
38
|
if (next) {
|
|
21
39
|
this.running++;
|
|
40
|
+
this.peakConcurrency = Math.max(this.peakConcurrency, this.running);
|
|
22
41
|
next();
|
|
23
42
|
}
|
|
24
43
|
}
|
|
25
44
|
async execute(fn) {
|
|
26
|
-
|
|
45
|
+
this.totalRequests++;
|
|
46
|
+
const { queueWaitTime } = await this.acquire();
|
|
47
|
+
const executionStartTime = Date.now();
|
|
27
48
|
try {
|
|
28
|
-
|
|
49
|
+
const result = await fn();
|
|
50
|
+
const executionTime = Date.now() - executionStartTime;
|
|
51
|
+
this.totalExecutionTime += executionTime;
|
|
52
|
+
this.completedRequests++;
|
|
53
|
+
return result;
|
|
54
|
+
}
|
|
55
|
+
catch (error) {
|
|
56
|
+
const executionTime = Date.now() - executionStartTime;
|
|
57
|
+
this.totalExecutionTime += executionTime;
|
|
58
|
+
this.failedRequests++;
|
|
59
|
+
throw error;
|
|
29
60
|
}
|
|
30
61
|
finally {
|
|
31
62
|
this.release();
|
|
@@ -34,5 +65,44 @@ export class ConcurrencyLimiter {
|
|
|
34
65
|
async executeAll(fns) {
|
|
35
66
|
return Promise.all(fns.map(fn => this.execute(fn)));
|
|
36
67
|
}
|
|
68
|
+
getState() {
|
|
69
|
+
const successRate = this.totalRequests > 0
|
|
70
|
+
? (this.completedRequests - this.failedRequests) / this.totalRequests * 100
|
|
71
|
+
: 0;
|
|
72
|
+
const averageConcurrency = this.completedRequests > 0
|
|
73
|
+
? this.totalExecutionTime / (Date.now() - (this.totalExecutionTime / this.completedRequests))
|
|
74
|
+
: 0;
|
|
75
|
+
const averageQueueWaitTime = this.queuedRequests > 0
|
|
76
|
+
? this.totalQueueWaitTime / this.queuedRequests
|
|
77
|
+
: 0;
|
|
78
|
+
const averageExecutionTime = this.completedRequests > 0
|
|
79
|
+
? this.totalExecutionTime / this.completedRequests
|
|
80
|
+
: 0;
|
|
81
|
+
return {
|
|
82
|
+
limit: this.limit,
|
|
83
|
+
running: this.running,
|
|
84
|
+
queueLength: this.queue.length,
|
|
85
|
+
totalRequests: this.totalRequests,
|
|
86
|
+
completedRequests: this.completedRequests,
|
|
87
|
+
failedRequests: this.failedRequests,
|
|
88
|
+
queuedRequests: this.queuedRequests,
|
|
89
|
+
successRate: successRate,
|
|
90
|
+
peakConcurrency: this.peakConcurrency,
|
|
91
|
+
peakQueueLength: this.peakQueueLength,
|
|
92
|
+
averageQueueWaitTime: averageQueueWaitTime,
|
|
93
|
+
averageExecutionTime: averageExecutionTime,
|
|
94
|
+
utilizationPercentage: (this.running / this.limit) * 100
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
let globalConcurrencyLimiter = null;
|
|
99
|
+
export function getGlobalConcurrencyLimiter(limit) {
|
|
100
|
+
if (!globalConcurrencyLimiter && limit !== undefined) {
|
|
101
|
+
globalConcurrencyLimiter = new ConcurrencyLimiter(limit);
|
|
102
|
+
}
|
|
103
|
+
return globalConcurrencyLimiter;
|
|
104
|
+
}
|
|
105
|
+
export function resetGlobalConcurrencyLimiter() {
|
|
106
|
+
globalConcurrencyLimiter = null;
|
|
37
107
|
}
|
|
38
108
|
//# sourceMappingURL=concurrency-limiter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"concurrency-limiter.js","sourceRoot":"","sources":["../../src/utilities/concurrency-limiter.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,kBAAkB;IACV,KAAK,CAAS;IACvB,OAAO,GAAW,CAAC,CAAC;IACX,KAAK,GAAsB,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"concurrency-limiter.js","sourceRoot":"","sources":["../../src/utilities/concurrency-limiter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execute-branch-workflow.d.ts","sourceRoot":"","sources":["../../src/utilities/execute-branch-workflow.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"execute-branch-workflow.d.ts","sourceRoot":"","sources":["../../src/utilities/execute-branch-workflow.ts"],"names":[],"mappings":"AAKA,OAAO,EAGL,gCAAgC,EAGhC,qBAAqB,EAItB,MAAM,mBAAmB,CAAC;AAE3B,wBAAsB,qBAAqB,CAAC,eAAe,GAAG,GAAG,EAAE,gBAAgB,GAAG,GAAG,EACvF,OAAO,EAAE,qBAAqB,CAAC,eAAe,EAAE,gBAAgB,CAAC,GAChE,OAAO,CAAC,gCAAgC,CAAC,gBAAgB,CAAC,CAAC,CAoxB7D"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { executeNonLinearWorkflow } from './execute-non-linear-workflow.js';
|
|
2
2
|
import { executeWithPersistence } from './execute-with-persistence.js';
|
|
3
3
|
import { formatLogContext } from './format-log-context.js';
|
|
4
|
+
import { MetricsAggregator } from './metrics-aggregator.js';
|
|
4
5
|
import { PHASE_DECISION_ACTIONS } from '../enums/index.js';
|
|
5
6
|
export async function executeBranchWorkflow(context) {
|
|
6
|
-
const { branches, workflowId, commonGatewayOptions, requestGroups, logPhaseResults, handlePhaseCompletion, handlePhaseError = () => { }, handleBranchCompletion, handleBranchDecision, maxSerializableChars, workflowHookParams, sharedBuffer, stopOnFirstPhaseError, maxWorkflowIterations } = context;
|
|
7
|
+
const { branches, workflowId, commonGatewayOptions, requestGroups, logPhaseResults, handlePhaseCompletion, handlePhaseError = () => { }, handleBranchCompletion, handleBranchDecision, preBranchExecutionHook, prePhaseExecutionHook, maxSerializableChars, workflowHookParams, sharedBuffer, stopOnFirstPhaseError, maxWorkflowIterations } = context;
|
|
7
8
|
const branchResults = [];
|
|
8
9
|
const allPhaseResults = [];
|
|
9
10
|
const executionHistory = [];
|
|
@@ -26,18 +27,41 @@ export async function executeBranchWorkflow(context) {
|
|
|
26
27
|
};
|
|
27
28
|
const executeSingleBranch = async (branch, branchIndex, executionNumber) => {
|
|
28
29
|
const branchStartTime = Date.now();
|
|
30
|
+
const branchId = branch.id || `branch-${branchIndex + 1}`;
|
|
31
|
+
let modifiedBranch = branch;
|
|
32
|
+
if (preBranchExecutionHook) {
|
|
33
|
+
try {
|
|
34
|
+
const hookOptions = {
|
|
35
|
+
workflowId,
|
|
36
|
+
branchId,
|
|
37
|
+
branchIndex,
|
|
38
|
+
branch: { ...branch },
|
|
39
|
+
sharedBuffer,
|
|
40
|
+
params: workflowHookParams?.preBranchExecutionHookParams
|
|
41
|
+
};
|
|
42
|
+
const result = await executeWithPersistence(preBranchExecutionHook, hookOptions, branch.statePersistence, { workflowId, branchId }, sharedBuffer || {});
|
|
43
|
+
if (result) {
|
|
44
|
+
modifiedBranch = result;
|
|
45
|
+
console.info(`${formatLogContext({ workflowId, branchId })}stable-request: Branch configuration modified by preBranchExecutionHook`);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
catch (error) {
|
|
49
|
+
console.error(`${formatLogContext({ workflowId, branchId })}stable-request: Error in preBranchExecutionHook:`, error);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
29
52
|
try {
|
|
30
|
-
const branchConfig = mergeBranchConfig(
|
|
53
|
+
const branchConfig = mergeBranchConfig(modifiedBranch);
|
|
31
54
|
const result = await executeNonLinearWorkflow({
|
|
32
|
-
phases:
|
|
33
|
-
workflowId: `${workflowId}-branch-${
|
|
34
|
-
branchId
|
|
55
|
+
phases: modifiedBranch.phases,
|
|
56
|
+
workflowId: `${workflowId}-branch-${branchId}`,
|
|
57
|
+
branchId,
|
|
35
58
|
commonGatewayOptions: branchConfig,
|
|
36
59
|
requestGroups,
|
|
37
60
|
logPhaseResults,
|
|
38
61
|
handlePhaseCompletion,
|
|
39
62
|
handlePhaseError,
|
|
40
63
|
handlePhaseDecision: workflowHookParams?.handlePhaseDecision,
|
|
64
|
+
prePhaseExecutionHook,
|
|
41
65
|
maxSerializableChars,
|
|
42
66
|
workflowHookParams,
|
|
43
67
|
sharedBuffer,
|
|
@@ -47,7 +71,7 @@ export async function executeBranchWorkflow(context) {
|
|
|
47
71
|
const branchExecutionTime = Date.now() - branchStartTime;
|
|
48
72
|
const branchResult = {
|
|
49
73
|
workflowId,
|
|
50
|
-
branchId
|
|
74
|
+
branchId,
|
|
51
75
|
branchIndex,
|
|
52
76
|
success: result.failedRequests === 0,
|
|
53
77
|
executionTime: branchExecutionTime,
|
|
@@ -55,6 +79,7 @@ export async function executeBranchWorkflow(context) {
|
|
|
55
79
|
phaseResults: result.phaseResults,
|
|
56
80
|
executionNumber
|
|
57
81
|
};
|
|
82
|
+
branchResult.metrics = MetricsAggregator.extractBranchMetrics(branchResult);
|
|
58
83
|
return {
|
|
59
84
|
branchResult,
|
|
60
85
|
phaseResults: result.phaseResults,
|
|
@@ -65,20 +90,22 @@ export async function executeBranchWorkflow(context) {
|
|
|
65
90
|
};
|
|
66
91
|
}
|
|
67
92
|
catch (error) {
|
|
68
|
-
console.error(`${formatLogContext({ workflowId })}stable-request: Branch ${
|
|
93
|
+
console.error(`${formatLogContext({ workflowId })}stable-request: Branch ${branchId} failed:`, error);
|
|
94
|
+
const errorBranchResult = {
|
|
95
|
+
workflowId,
|
|
96
|
+
branchId,
|
|
97
|
+
branchIndex,
|
|
98
|
+
success: false,
|
|
99
|
+
executionTime: Date.now() - branchStartTime,
|
|
100
|
+
completedPhases: 0,
|
|
101
|
+
phaseResults: [],
|
|
102
|
+
executionNumber,
|
|
103
|
+
error: error?.message || 'Branch execution failed',
|
|
104
|
+
decision: undefined
|
|
105
|
+
};
|
|
106
|
+
errorBranchResult.metrics = MetricsAggregator.extractBranchMetrics(errorBranchResult);
|
|
69
107
|
return {
|
|
70
|
-
branchResult:
|
|
71
|
-
workflowId,
|
|
72
|
-
branchId: branch.id,
|
|
73
|
-
branchIndex,
|
|
74
|
-
success: false,
|
|
75
|
-
executionTime: Date.now() - branchStartTime,
|
|
76
|
-
completedPhases: 0,
|
|
77
|
-
phaseResults: [],
|
|
78
|
-
executionNumber,
|
|
79
|
-
error: error?.message || 'Branch execution failed',
|
|
80
|
-
decision: undefined
|
|
81
|
-
},
|
|
108
|
+
branchResult: errorBranchResult,
|
|
82
109
|
phaseResults: [],
|
|
83
110
|
executionHistory: [],
|
|
84
111
|
totalRequests: 0,
|
|
@@ -117,6 +144,7 @@ export async function executeBranchWorkflow(context) {
|
|
|
117
144
|
skipped: true,
|
|
118
145
|
error: `Exceeded max replay count of ${maxReplayCount}`
|
|
119
146
|
};
|
|
147
|
+
skippedResult.metrics = MetricsAggregator.extractBranchMetrics(skippedResult);
|
|
120
148
|
branchResults.push(skippedResult);
|
|
121
149
|
branchExecutionHistory.push({
|
|
122
150
|
branchId: currentBranchId,
|
|
@@ -238,6 +266,32 @@ export async function executeBranchWorkflow(context) {
|
|
|
238
266
|
break;
|
|
239
267
|
}
|
|
240
268
|
}
|
|
269
|
+
const lastBranchDecision = concurrentGroup[concurrentGroup.length - 1]?.branch.branchDecisionHook ?
|
|
270
|
+
groupResults[groupResults.length - 1].branchResult.decision : undefined;
|
|
271
|
+
if (lastBranchDecision) {
|
|
272
|
+
if (lastBranchDecision.addBranches && Array.isArray(lastBranchDecision.addBranches) && lastBranchDecision.addBranches.length > 0) {
|
|
273
|
+
if (logPhaseResults) {
|
|
274
|
+
console.info(`${formatLogContext({ workflowId })}stable-request: Adding ${lastBranchDecision.addBranches.length} dynamic branch(es) after concurrent group`);
|
|
275
|
+
}
|
|
276
|
+
lastBranchDecision.addBranches.forEach((newBranch, idx) => {
|
|
277
|
+
const newBranchId = newBranch.id || `dynamic-branch-${Date.now()}-${idx}`;
|
|
278
|
+
const newBranchWithId = { ...newBranch, id: newBranchId };
|
|
279
|
+
branches.splice(j + idx, 0, newBranchWithId);
|
|
280
|
+
if (logPhaseResults) {
|
|
281
|
+
console.info(`${formatLogContext({ workflowId })}stable-request: Added dynamic branch '${newBranchId}' at index ${j + idx}`);
|
|
282
|
+
}
|
|
283
|
+
});
|
|
284
|
+
}
|
|
285
|
+
if (lastBranchDecision.addPhases && Array.isArray(lastBranchDecision.addPhases) && lastBranchDecision.addPhases.length > 0) {
|
|
286
|
+
const lastBranch = concurrentGroup[concurrentGroup.length - 1].branch;
|
|
287
|
+
if (logPhaseResults) {
|
|
288
|
+
console.info(`${formatLogContext({ workflowId, branchId: lastBranch.id })}stable-request: Adding ${lastBranchDecision.addPhases.length} dynamic phase(s) to branch '${lastBranch.id}'`);
|
|
289
|
+
}
|
|
290
|
+
lastBranchDecision.addPhases.forEach((newPhase) => {
|
|
291
|
+
lastBranch.phases.push(newPhase);
|
|
292
|
+
});
|
|
293
|
+
}
|
|
294
|
+
}
|
|
241
295
|
if (shouldTerminate) {
|
|
242
296
|
terminatedEarly = true;
|
|
243
297
|
break;
|
|
@@ -261,6 +315,7 @@ export async function executeBranchWorkflow(context) {
|
|
|
261
315
|
executionNumber: 1,
|
|
262
316
|
skipped: true
|
|
263
317
|
};
|
|
318
|
+
skippedResult.metrics = MetricsAggregator.extractBranchMetrics(skippedResult);
|
|
264
319
|
branchResults.push(skippedResult);
|
|
265
320
|
branchExecutionHistory.push({
|
|
266
321
|
branchId: skippedBranch.id,
|
|
@@ -352,6 +407,47 @@ export async function executeBranchWorkflow(context) {
|
|
|
352
407
|
decision = { action: PHASE_DECISION_ACTIONS.CONTINUE };
|
|
353
408
|
}
|
|
354
409
|
}
|
|
410
|
+
if (decision.addBranches && Array.isArray(decision.addBranches) && decision.addBranches.length > 0) {
|
|
411
|
+
if (logPhaseResults) {
|
|
412
|
+
console.info(`${formatLogContext({ workflowId, branchId: currentBranchId })}stable-request: Adding ${decision.addBranches.length} dynamic branch(es) after '${currentBranchId}'`);
|
|
413
|
+
}
|
|
414
|
+
decision.addBranches.forEach((newBranch, idx) => {
|
|
415
|
+
const newBranchId = newBranch.id || `dynamic-branch-${Date.now()}-${idx}`;
|
|
416
|
+
const newBranchWithId = { ...newBranch, id: newBranchId };
|
|
417
|
+
branches.splice(branchIndex + 1 + idx, 0, newBranchWithId);
|
|
418
|
+
if (logPhaseResults) {
|
|
419
|
+
console.info(`${formatLogContext({ workflowId })}stable-request: Added dynamic branch '${newBranchId}' at index ${branchIndex + 1 + idx}`);
|
|
420
|
+
}
|
|
421
|
+
});
|
|
422
|
+
}
|
|
423
|
+
if (decision.addPhases && Array.isArray(decision.addPhases) && decision.addPhases.length > 0) {
|
|
424
|
+
if (logPhaseResults) {
|
|
425
|
+
console.info(`${formatLogContext({ workflowId, branchId: currentBranchId })}stable-request: Adding ${decision.addPhases.length} dynamic phase(s) to branch '${currentBranchId}' and re-executing`);
|
|
426
|
+
}
|
|
427
|
+
decision.addPhases.forEach((newPhase) => {
|
|
428
|
+
currentBranch.phases.push(newPhase);
|
|
429
|
+
});
|
|
430
|
+
if (logPhaseResults) {
|
|
431
|
+
console.info(`${formatLogContext({ workflowId })}\nstable-request: Re-executing branch: ${currentBranch.id} with ${decision.addPhases.length} additional phase(s) (execution #${executionNumber + 1})`);
|
|
432
|
+
}
|
|
433
|
+
const reExecutionResult = await executeSingleBranch(currentBranch, branchIndex, executionNumber + 1);
|
|
434
|
+
branchResults[branchResults.length - 1] = reExecutionResult.branchResult;
|
|
435
|
+
allPhaseResults.push(...reExecutionResult.phaseResults);
|
|
436
|
+
executionHistory.push(...reExecutionResult.executionHistory);
|
|
437
|
+
totalRequests += reExecutionResult.totalRequests;
|
|
438
|
+
successfulRequests += reExecutionResult.successfulRequests;
|
|
439
|
+
failedRequests += reExecutionResult.failedRequests;
|
|
440
|
+
branchExecutionHistory.push({
|
|
441
|
+
branchId: currentBranchId,
|
|
442
|
+
branchIndex,
|
|
443
|
+
executionNumber: executionNumber + 1,
|
|
444
|
+
timestamp: new Date().toISOString(),
|
|
445
|
+
success: reExecutionResult.branchResult.success,
|
|
446
|
+
executionTime: reExecutionResult.branchResult.executionTime
|
|
447
|
+
});
|
|
448
|
+
result.branchResult = reExecutionResult.branchResult;
|
|
449
|
+
result.phaseResults = reExecutionResult.phaseResults;
|
|
450
|
+
}
|
|
355
451
|
switch (decision.action) {
|
|
356
452
|
case PHASE_DECISION_ACTIONS.TERMINATE:
|
|
357
453
|
terminatedEarly = true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execute-branch-workflow.js","sourceRoot":"","sources":["../../src/utilities/execute-branch-workflow.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"execute-branch-workflow.js","sourceRoot":"","sources":["../../src/utilities/execute-branch-workflow.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execute-concurrently.d.ts","sourceRoot":"","sources":["../../src/utilities/execute-concurrently.ts"],"names":[],"mappings":"AACA,OAAO,EACH,mBAAmB,EACnB,oBAAoB,
|
|
1
|
+
{"version":3,"file":"execute-concurrently.d.ts","sourceRoot":"","sources":["../../src/utilities/execute-concurrently.ts"],"names":[],"mappings":"AACA,OAAO,EACH,mBAAmB,EACnB,oBAAoB,EAEpB,oCAAoC,EACvC,MAAM,mBAAmB,CAAC;AAO3B,wBAAsB,mBAAmB,CAAC,eAAe,GAAG,GAAG,EAAE,gBAAgB,GAAG,GAAG,EACnF,QAAQ,GAAE,mBAAmB,CAAC,eAAe,EAAE,gBAAgB,CAAC,EAAO,EACvE,uBAAuB,GAAE,oCAAoC,CAAC,eAAe,EAAE,gBAAgB,CAAM,GACtG,OAAO,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAoLnD"}
|