ttc-rate-limit 0.1.13 → 0.1.15
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/cluster.d.ts +1 -0
- package/dist/cluster.d.ts.map +1 -1
- package/dist/cluster.js +16 -0
- package/dist/cluster.js.map +1 -1
- package/dist/ratelimit.d.ts.map +1 -1
- package/dist/ratelimit.js +14 -5
- package/dist/ratelimit.js.map +1 -1
- package/dist/test.js +33 -17
- package/dist/test.js.map +1 -1
- package/package.json +1 -1
package/dist/cluster.d.ts
CHANGED
package/dist/cluster.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cluster.d.ts","sourceRoot":"","sources":["../src/cluster.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAEtC,qBAAa,OAAO,CAAC,CAAC,EAAE,CAAC;IAErB,MAAM,EAAE;QACJ,IAAI,EAAE,QAAQ,GAAG,YAAY,CAAC;QAC9B,eAAe,CAAC,EAAE,MAAM,CAAC;KAC5B,CAAsB;IAEvB,OAAO,EAAE,YAAY,CAAsB;IAE3C,QAAQ,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAM;
|
|
1
|
+
{"version":3,"file":"cluster.d.ts","sourceRoot":"","sources":["../src/cluster.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAEtC,qBAAa,OAAO,CAAC,CAAC,EAAE,CAAC;IAErB,MAAM,EAAE;QACJ,IAAI,EAAE,QAAQ,GAAG,YAAY,CAAC;QAC9B,eAAe,CAAC,EAAE,MAAM,CAAC;KAC5B,CAAsB;IAEvB,OAAO,EAAE,YAAY,CAAsB;IAE3C,QAAQ,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAM;IAEnC,cAAc,EAAE,GAAG,CAAC,MAAM,CAAC,CAAa;gBAE5B,IAAI,EAAE,QAAQ,GAAG,YAAY;IAMzC,EAAE,GAAI,OAAO,WAAW,GAAG,OAAO,EAAE,UAAU,CAAC,IAAI,EAAE;QACjD,OAAO,EAAE,CAAC,CAAC;QAAC,QAAQ,EAAE,CAAC,CAAC;QAAC,MAAM,EAAE;YAC7B,KAAK,EAAE,MAAM,CAAC;YACd,UAAU,EAAE,MAAM,CAAC;SACtB,CAAA;KACJ,KAAK,IAAI,UAET;IAED,SAAS,GAAI,QAAQ,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,WAAU,OAAe,UAiBtE;IAED,MAAM,GAAU,MAAM,CAAC,EAAE,SAAS;QAC9B,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,UAAU,CAAC,EAAE,MAAM,CAAC;KACvB,KAAG,OAAO,CAAC,IAAI,CAAC,CAqChB;IAED,aAAa,QAAO,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAGpC;IAED,iBAAiB,GAAI,SAAS,MAAM,KAAG,MAAM,CAI5C;CACJ"}
|
package/dist/cluster.js
CHANGED
|
@@ -8,6 +8,7 @@ class Cluster {
|
|
|
8
8
|
this.config = { type: 'random' };
|
|
9
9
|
this.emitter = new events_1.EventEmitter();
|
|
10
10
|
this.limiters = [];
|
|
11
|
+
this.activeRequests = new Set();
|
|
11
12
|
this.on = (event, listener) => {
|
|
12
13
|
this.emitter.on(event, listener);
|
|
13
14
|
};
|
|
@@ -16,9 +17,15 @@ class Cluster {
|
|
|
16
17
|
this.limiters.push(rl);
|
|
17
18
|
this.config.perferedLimiter = specific ? rl.config.id : this.config.perferedLimiter;
|
|
18
19
|
rl.on('error', async (data) => {
|
|
20
|
+
if (data && data.config && data.config._urId) {
|
|
21
|
+
this.activeRequests.delete(data.config._urId);
|
|
22
|
+
}
|
|
19
23
|
this.emitter.emit('error', data);
|
|
20
24
|
});
|
|
21
25
|
rl.on('completed', async (data) => {
|
|
26
|
+
if (data && data.config && data.config._urId) {
|
|
27
|
+
this.activeRequests.delete(data.config._urId);
|
|
28
|
+
}
|
|
22
29
|
this.emitter.emit('completed', data);
|
|
23
30
|
});
|
|
24
31
|
return this;
|
|
@@ -42,6 +49,15 @@ class Cluster {
|
|
|
42
49
|
else {
|
|
43
50
|
limiter = this.limiters[0];
|
|
44
51
|
}
|
|
52
|
+
if (config && config._urId) {
|
|
53
|
+
if (this.activeRequests.has(config._urId)) {
|
|
54
|
+
// console.log('Request already in progress, skipping duplicate:', config._urId);
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
else {
|
|
58
|
+
this.activeRequests.add(config._urId);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
45
61
|
await limiter.invoke(item, config);
|
|
46
62
|
}
|
|
47
63
|
catch (error) {
|
package/dist/cluster.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cluster.js","sourceRoot":"","sources":["../src/cluster.ts"],"names":[],"mappings":";;;AAAA,2CAA6D;AAC7D,mCAAsC;AAEtC,MAAa,OAAO;
|
|
1
|
+
{"version":3,"file":"cluster.js","sourceRoot":"","sources":["../src/cluster.ts"],"names":[],"mappings":"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"}
|
package/dist/ratelimit.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ratelimit.d.ts","sourceRoot":"","sources":["../src/ratelimit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAErC,eAAO,MAAM,IAAI,aAAsB,CAAC;AAExC;;;;GAIG;AACH,MAAM,WAAW,iBAAiB,CAAC,CAAC,EAAE,CAAC;IACnC,uDAAuD;IACvD,EAAE,EAAE,MAAM,CAAC;IACX,kDAAkD;IAClD,OAAO,EAAE,MAAM,CAAC;IAChB,0EAA0E;IAC1E,GAAG,EAAE,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,KAAK,CAAC;IAC1C,4DAA4D;IAC5D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,qDAAqD;IACrD,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAChD,8DAA8D;IAC9D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,mDAAmD;IACnD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,8EAA8E;IAC9E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,6DAA6D;IAC7D,IAAI,EAAE,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAC;IACpC,qDAAqD;IACrD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,yFAAyF;IACzF,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB;AAGD,qCAAqC;AACrC,KAAK,gBAAgB,CAAC,CAAC,IAAI;IACvB,KAAK,EAAE,CAAC,CAAC;IACT,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF;;;;;GAKG;AACH,qBAAa,WAAW,CAAC,CAAC,EAAE,CAAC;IAEzB,8CAA8C;IAC9C,MAAM,EAAE,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAChC,2CAA2C;IAC3C,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAM;IAChD,uDAAuD;IACvD,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAM;IACzD,iEAAiE;IACjE,YAAY,EAAE,YAAY,CAAC;IAC3B,iDAAiD;IACjD,WAAW,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAAU;IACxD;;;OAGG;gBACS,MAAM,EAAE,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC;IAM3C;;OAEG;IACH,QAAQ;IA+BR;;;;OAIG;IACH,EAAE,GAAI,OAAO,WAAW,GAAG,OAAO,EAAE,UAAU,CAAC,IAAI,EAAE;QACjD,OAAO,EAAE,CAAC,CAAC;QAAC,QAAQ,EAAE,GAAG,CAAC;QAAC,MAAM,CAAC,EAAE,GAAG,CAAA;KAC1C,KAAK,IAAI,UAET;IAED;;OAEG;IACH,YAAY,sBA0CX;IAED;;;;;OAKG;IACG,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG;
|
|
1
|
+
{"version":3,"file":"ratelimit.d.ts","sourceRoot":"","sources":["../src/ratelimit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAErC,eAAO,MAAM,IAAI,aAAsB,CAAC;AAExC;;;;GAIG;AACH,MAAM,WAAW,iBAAiB,CAAC,CAAC,EAAE,CAAC;IACnC,uDAAuD;IACvD,EAAE,EAAE,MAAM,CAAC;IACX,kDAAkD;IAClD,OAAO,EAAE,MAAM,CAAC;IAChB,0EAA0E;IAC1E,GAAG,EAAE,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,KAAK,CAAC;IAC1C,4DAA4D;IAC5D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,qDAAqD;IACrD,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAChD,8DAA8D;IAC9D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,mDAAmD;IACnD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,8EAA8E;IAC9E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,6DAA6D;IAC7D,IAAI,EAAE,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAC;IACpC,qDAAqD;IACrD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,yFAAyF;IACzF,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB;AAGD,qCAAqC;AACrC,KAAK,gBAAgB,CAAC,CAAC,IAAI;IACvB,KAAK,EAAE,CAAC,CAAC;IACT,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF;;;;;GAKG;AACH,qBAAa,WAAW,CAAC,CAAC,EAAE,CAAC;IAEzB,8CAA8C;IAC9C,MAAM,EAAE,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAChC,2CAA2C;IAC3C,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAM;IAChD,uDAAuD;IACvD,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAM;IACzD,iEAAiE;IACjE,YAAY,EAAE,YAAY,CAAC;IAC3B,iDAAiD;IACjD,WAAW,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAAU;IACxD;;;OAGG;gBACS,MAAM,EAAE,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC;IAM3C;;OAEG;IACH,QAAQ;IA+BR;;;;OAIG;IACH,EAAE,GAAI,OAAO,WAAW,GAAG,OAAO,EAAE,UAAU,CAAC,IAAI,EAAE;QACjD,OAAO,EAAE,CAAC,CAAC;QAAC,QAAQ,EAAE,GAAG,CAAC;QAAC,MAAM,CAAC,EAAE,GAAG,CAAA;KAC1C,KAAK,IAAI,UAET;IAED;;OAEG;IACH,YAAY,sBA0CX;IAED;;;;;OAKG;IACG,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG;IA4BlD;;;;OAIG;IACG,eAAe,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,MAAM;;;IAkC1C;;;;OAIG;IACG,cAAc,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,MAAM;;;IA+DzC;;;;OAIG;IACG,OAAO,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,MAAM;;;IAelC;;;;OAIG;IACG,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE;QAC5B,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,UAAU,CAAC,EAAE,MAAM,CAAC;KACvB;;;;CAoBJ"}
|
package/dist/ratelimit.js
CHANGED
|
@@ -139,7 +139,8 @@ class RateLimiter {
|
|
|
139
139
|
response: error.message,
|
|
140
140
|
config: {
|
|
141
141
|
retryCount: item.retryCount,
|
|
142
|
-
_urId:
|
|
142
|
+
_urId: id,
|
|
143
|
+
preferredLimiterId: this.config.id
|
|
143
144
|
}
|
|
144
145
|
});
|
|
145
146
|
// console.log(this.queue, this.back_off_queue)
|
|
@@ -165,7 +166,11 @@ class RateLimiter {
|
|
|
165
166
|
delete this.queue[id];
|
|
166
167
|
this.eventManager.emit('completed', {
|
|
167
168
|
request: input,
|
|
168
|
-
response
|
|
169
|
+
response,
|
|
170
|
+
config: {
|
|
171
|
+
_urId: id,
|
|
172
|
+
preferredLimiterId: this.config.id
|
|
173
|
+
}
|
|
169
174
|
});
|
|
170
175
|
}
|
|
171
176
|
catch (error) {
|
|
@@ -213,7 +218,7 @@ class RateLimiter {
|
|
|
213
218
|
// If this request hits the limit, schedule reset after remaining time
|
|
214
219
|
if (this.config._count === this.config.request && timeRemaining > 0) {
|
|
215
220
|
const waitSeconds = timeRemaining / 1000;
|
|
216
|
-
console.log(timeRemaining, waitSeconds);
|
|
221
|
+
// console.log(timeRemaining, waitSeconds);
|
|
217
222
|
await exports.time.waitFor(async () => {
|
|
218
223
|
this.config._count = 0;
|
|
219
224
|
await this.processQueue();
|
|
@@ -221,11 +226,15 @@ class RateLimiter {
|
|
|
221
226
|
this._queueState = 'waiting';
|
|
222
227
|
}
|
|
223
228
|
try {
|
|
224
|
-
delete this.queue[id];
|
|
225
229
|
const response = await this.config.cb(input, this.config.id);
|
|
230
|
+
delete this.queue[id];
|
|
226
231
|
this.eventManager.emit('completed', {
|
|
227
232
|
request: input,
|
|
228
|
-
response
|
|
233
|
+
response,
|
|
234
|
+
config: {
|
|
235
|
+
_urId: id,
|
|
236
|
+
preferredLimiterId: this.config.id
|
|
237
|
+
}
|
|
229
238
|
});
|
|
230
239
|
}
|
|
231
240
|
catch (error) {
|
package/dist/ratelimit.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ratelimit.js","sourceRoot":"","sources":["../src/ratelimit.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"ratelimit.js","sourceRoot":"","sources":["../src/ratelimit.ts"],"names":[],"mappings":";;;AAAA,mCAAsC;AACtC,iCAAqC;AAExB,QAAA,IAAI,GAAG,IAAI,kBAAW,CAAC,EAAE,CAAC,CAAC;AAwCxC;;;;;GAKG;AACH,MAAa,WAAW;IAYpB;;;OAGG;IACH,YAAY,MAA+B;QAZ3C,2CAA2C;QAC3C,UAAK,GAAwC,EAAE,CAAC;QAChD,uDAAuD;QACvD,mBAAc,GAAwC,EAAE,CAAC;QAGzD,iDAAiD;QACjD,gBAAW,GAAsC,MAAM,CAAC;QA6CxD;;;;WAIG;QACH,OAAE,GAAG,CAAC,KAA4B,EAAE,QAE1B,EAAE,EAAE;YACV,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAC1C,CAAC,CAAA;QAED;;WAEG;QACH,iBAAY,GAAG,KAAK,IAAI,EAAE;YACtB,IAAI,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACvC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACxB,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC;gBAC1B,OAAO;YACX,CAAC;YACD,IAAI,CAAC,WAAW,GAAG,YAAY,CAAC;YAChC,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAChC,OAAO,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,MAAO,GAAG,IAAI,CAAC,MAAM,CAAC,GAAI,EAAE,CAAC;oBACnE,MAAM,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;oBACvB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;oBAC5B,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBACvC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACJ,OAAO,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACzB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;oBACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,QAAS,GAAG,IAAI,CAAC;oBAE9C,0BAA0B;oBAC1B,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,QAAQ,EAAE,CAAC;wBACjE,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;wBACvB,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,GAAG,CAAC;oBAC/B,CAAC;oBAED,wCAAwC;oBACxC,IAAI,IAAI,CAAC,MAAM,CAAC,MAAO,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;wBAC5C,MAAM,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;wBACvB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;wBAE5B,IAAI,IAAI,EAAE,CAAC;4BACP,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;wBACvC,CAAC;6BAAM,CAAC;4BACJ,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;wBACvC,CAAC;oBAEL,CAAC;yBAAM,CAAC;wBACJ,wBAAwB;wBACxB,MAAM;oBACV,CAAC;gBACL,CAAC;YACL,CAAC;YACD,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC;QAC9B,CAAC,CAAA;QA/FG,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChB,IAAI,CAAC,YAAY,GAAG,IAAI,qBAAY,EAAE,CAAC;IAC3C,CAAC;IAED;;OAEG;IACH,QAAQ;QACJ,MAAM,SAAS,GAAG;YACd,QAAQ,EAAE,CAAC;YACX,QAAQ,EAAE,EAAE;YACZ,MAAM,EAAE,IAAI;YACZ,KAAK,EAAE,KAAK;SACf,CAAC;QACF,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACjD,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,QAAQ,CAAC,CAAC;QAC5D,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAChC,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;QAC1D,CAAC;aAAM,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YACtC,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACpC,CAAC;aAAM,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACvC,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,QAAQ,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC;YACjE,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC,CAAC;QAC1F,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;QACvB,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC;QACjD,YAAI,CAAC,WAAW,CAAC,KAAK,IAAI,EAAE;YACxB,IAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,MAAM,KAAK,CAAC,EAAC,CAAC;gBAC9C,OAAO;YACX,CAAC;YACD,IAAI,CAAC,KAAK,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;YACvD,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;YACzB,IAAI,IAAI,CAAC,WAAW,KAAK,MAAM,EAAE,CAAC;gBAC9B,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;YAC9B,CAAC;QACL,CAAC,EAAE,CAAC,CAAC,CAAC;IACV,CAAC;IA4DD;;;;;OAKG;IACH,KAAK,CAAC,WAAW,CAAC,EAAU,EAAE,KAAQ,EAAE,KAAU;QAC9C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAE5B,cAAc;QACV,sBAAsB;QAC1B,cAAc;QACd,IAAI;QAEJ,IAAI,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC,EAAE,CAAC;YAChD,OAAO,IAAI,CAAC,KAAK,CAAC,EAAG,CAAC,CAAC;YACvB,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;YAC/B,oCAAoC;QACxC,CAAC;aAAM,CAAC;YACJ,OAAO,IAAI,CAAC,KAAK,CAAC,EAAG,CAAC,CAAC;YACvB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE;gBAC5B,OAAO,EAAE,KAAK;gBACd,QAAQ,EAAE,KAAK,CAAC,OAAO;gBACvB,MAAM,EAAE;oBACJ,UAAU,EAAE,IAAI,CAAC,UAAU;oBAC3B,KAAK,EAAE,EAAE;oBACT,kBAAkB,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE;iBACrC;aACJ,CAAC,CAAC;YACH,+CAA+C;QACnD,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,eAAe,CAAC,KAAQ,EAAE,EAAU;QACtC,IAAI,IAAI,CAAC,MAAM,CAAC,MAAO,GAAG,IAAI,CAAC,MAAM,CAAC,GAAI,EAAE,CAAC;YACzC,IAAI,CAAC,MAAM,CAAC,MAAO,EAAE,CAAC;YAEtB,IAAI,IAAI,CAAC,MAAM,CAAC,MAAO,IAAI,IAAI,CAAC,MAAM,CAAC,GAAI,EAAE,CAAC;gBAC1C,MAAM,YAAI,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE;oBAC1B,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;oBACvB,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;gBAC9B,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,QAAkB,CAAC,CAAC;gBACnC,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;YACjC,CAAC;YAED,IAAI,CAAC;gBACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBAC7D,OAAO,IAAI,CAAC,KAAK,CAAC,EAAG,CAAC,CAAC;gBACvB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,EAAE;oBAChC,OAAO,EAAE,KAAK;oBACd,QAAQ;oBACR,MAAM,EAAE;wBACJ,KAAK,EAAE,EAAE;wBACT,kBAAkB,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE;qBACrC;iBACJ,CAAC,CAAA;YACN,CAAC;YAAC,OAAO,KAAU,EAAE,CAAC;gBAClB,MAAM,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;YAC7C,CAAC;QAEL,CAAC;aAAM,CAAC;YACJ,OAAO;gBACH,MAAM,EAAE,QAAQ;aACnB,CAAA;QACL,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,cAAc,CAAC,KAAQ,EAAE,EAAU;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,QAAS,GAAG,IAAI,CAAA;QAE7C,qCAAqC;QAErC,mCAAmC;QACnC,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,QAAQ,EAAE,CAAC;YACjE,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;QAC3B,CAAC;QAED,sCAAsC;QACtC,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,GAAG,CAAC;QAC/B,CAAC;QAED,MAAM,WAAW,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,QAAS,CAAC;QAChD,MAAM,aAAa,GAAG,QAAQ,GAAG,WAAW,CAAC;QAE7C,uEAAuE;QACvE,IAAI,IAAI,CAAC,MAAM,CAAC,MAAO,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,aAAa,GAAG,CAAC,EAAE,CAAC;YAClE,OAAO;gBACH,MAAM,EAAE,QAAQ;aACnB,CAAA;QACL,CAAC;QAED,2CAA2C;QAC3C,IAAI,aAAa,IAAI,CAAC,EAAE,CAAC;YACrB,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;YACvB,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,GAAG,CAAC;QAC/B,CAAC;QAED,0BAA0B;QAC1B,IAAI,CAAC,MAAM,CAAC,MAAO,EAAE,CAAC;QAEtB,sEAAsE;QACtE,IAAI,IAAI,CAAC,MAAM,CAAC,MAAO,KAAK,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,aAAa,GAAG,CAAC,EAAE,CAAC;YACnE,MAAM,WAAW,GAAG,aAAa,GAAG,IAAI,CAAC;YACzC,2CAA2C;YAC3C,MAAM,YAAI,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE;gBAC1B,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;gBACvB,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;YAC9B,CAAC,EAAE,WAAW,CAAC,CAAA;YACf,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;QACjC,CAAC;QAED,IAAI,CAAC;YACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,EAAG,CAAC,CAAC;YAC9D,OAAO,IAAI,CAAC,KAAK,CAAC,EAAG,CAAC,CAAC;YACvB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,EAAE;gBAChC,OAAO,EAAE,KAAK;gBACd,QAAQ;gBACR,MAAM,EAAE;oBACJ,KAAK,EAAE,EAAE;oBACT,kBAAkB,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE;iBACrC;aACJ,CAAC,CAAC;QACP,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YAClB,MAAM,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QAC7C,CAAC;IACL,CAAC;IAGD;;;;OAIG;IACH,KAAK,CAAC,OAAO,CAAC,KAAQ,EAAE,EAAU;QAC9B,IAAI,QAAQ,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC;YACD,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAChC,QAAQ,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACrD,CAAC;iBAAM,CAAC;gBACJ,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACpD,CAAC;YAED,OAAO,QAAQ,CAAC;QACpB,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YAClB,MAAM,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QAC7C,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,MAAM,CAAC,KAAQ,EAAE,MAItB;QACG,MAAM,EAAE,GAAG,MAAM,EAAE,KAAK,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QAEhD,gDAAgD;QAChD,IAAI,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC;YACjB,6DAA6D;YAC7D,OAAO;gBACH,MAAM,EAAE,QAAQ;gBAChB,OAAO,EAAE,qCAAqC;aACjD,CAAC;QACN,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG;YACb,KAAK;YACL,KAAK,EAAE,EAAE;YACT,UAAU,EAAE,MAAM,EAAE,UAAU,IAAI,CAAC;SACtC,CAAA;QAED,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAClC,CAAC;CACJ;AAhTD,kCAgTC"}
|
package/dist/test.js
CHANGED
|
@@ -2,6 +2,18 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const cluster_1 = require("./cluster");
|
|
4
4
|
const cluster = new cluster_1.Cluster('roundrobin');
|
|
5
|
+
const processInput = async (input, limiterId) => {
|
|
6
|
+
// if (['chat-2'].includes(input.chatId)) {
|
|
7
|
+
// return await new Promise((resolve, reject) => {
|
|
8
|
+
// setTimeout(() => {
|
|
9
|
+
// resolve(`Processed with delay: ${input.modelId} - ${input.chatId} by ${limiterId}`);
|
|
10
|
+
// }, 5000);
|
|
11
|
+
// });
|
|
12
|
+
// } else {
|
|
13
|
+
throw new Error(`Simulated error for ${input.chatId} by ${limiterId}`);
|
|
14
|
+
// return `Processed: ${input.modelId} - ${input.chatId} by ${limiterId}`;
|
|
15
|
+
// }
|
|
16
|
+
};
|
|
5
17
|
cluster.addOption({
|
|
6
18
|
id: 'deepseek',
|
|
7
19
|
request: 100,
|
|
@@ -9,13 +21,7 @@ cluster.addOption({
|
|
|
9
21
|
mode: 'hybrid',
|
|
10
22
|
hybridRatio: 10,
|
|
11
23
|
maxRetry: 3,
|
|
12
|
-
cb:
|
|
13
|
-
// if (['chat-5', 'chat-8'].includes(input.chatId)) {
|
|
14
|
-
// throw new Error('Unable to process');
|
|
15
|
-
// } else {
|
|
16
|
-
return `Processed: ${input.modelId} - ${input.chatId} by Deepseek`;
|
|
17
|
-
// }
|
|
18
|
-
}
|
|
24
|
+
cb: processInput
|
|
19
25
|
}, true);
|
|
20
26
|
cluster.addOption({
|
|
21
27
|
id: 'grok',
|
|
@@ -23,9 +29,7 @@ cluster.addOption({
|
|
|
23
29
|
per: 'minute',
|
|
24
30
|
mode: 'burst',
|
|
25
31
|
maxRetry: 3,
|
|
26
|
-
cb:
|
|
27
|
-
return `Processed: ${input.modelId} - ${input.chatId} by Grok`;
|
|
28
|
-
}
|
|
32
|
+
cb: processInput
|
|
29
33
|
}, true);
|
|
30
34
|
cluster.addOption({
|
|
31
35
|
id: 'minimax',
|
|
@@ -33,15 +37,13 @@ cluster.addOption({
|
|
|
33
37
|
per: 'minute',
|
|
34
38
|
mode: 'burst',
|
|
35
39
|
maxRetry: 3,
|
|
36
|
-
cb:
|
|
37
|
-
return `Processed: ${input.modelId} - ${input.chatId} by Grok`;
|
|
38
|
-
}
|
|
40
|
+
cb: processInput
|
|
39
41
|
}, true);
|
|
40
42
|
cluster.on('completed', (data) => {
|
|
41
|
-
console.log('Completed:', data.response);
|
|
43
|
+
// console.log('Completed:', data.response);
|
|
42
44
|
});
|
|
43
45
|
cluster.on('error', async (data) => {
|
|
44
|
-
console.error('Error processing', data);
|
|
46
|
+
// console.error('Error processing', data);
|
|
45
47
|
try {
|
|
46
48
|
// await cluster.invoke(data.request, data.config);
|
|
47
49
|
}
|
|
@@ -49,8 +51,8 @@ cluster.on('error', async (data) => {
|
|
|
49
51
|
console.error('Retry failed for:', data, 'Error:', error.message);
|
|
50
52
|
}
|
|
51
53
|
});
|
|
52
|
-
const uuid = "bosss";
|
|
53
|
-
for (let i = 0; i <
|
|
54
|
+
// const uuid = "bosss";
|
|
55
|
+
for (let i = 0; i < 10; i++) {
|
|
54
56
|
cluster.invoke({
|
|
55
57
|
modelId: 'gpt-4',
|
|
56
58
|
chatId: `chat-${i}`,
|
|
@@ -58,4 +60,18 @@ for (let i = 0; i < 1; i++) {
|
|
|
58
60
|
_urId: i.toString(),
|
|
59
61
|
});
|
|
60
62
|
}
|
|
63
|
+
// cluster.invoke({
|
|
64
|
+
// modelId: 'gpt-4',
|
|
65
|
+
// chatId: `chat-2`,
|
|
66
|
+
// }, {
|
|
67
|
+
// _urId: '2',
|
|
68
|
+
// preferredLimiterId: 'grok',
|
|
69
|
+
// });
|
|
70
|
+
// cluster.invoke({
|
|
71
|
+
// modelId: 'gpt-4',
|
|
72
|
+
// chatId: `chat-3`,
|
|
73
|
+
// }, {
|
|
74
|
+
// _urId: '2',
|
|
75
|
+
// preferredLimiterId: 'minimax',
|
|
76
|
+
// });
|
|
61
77
|
//# sourceMappingURL=test.js.map
|
package/dist/test.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test.js","sourceRoot":"","sources":["../src/test.ts"],"names":[],"mappings":";;AACA,uCAAoC;AAQpC,MAAM,OAAO,GAAG,IAAI,iBAAO,CAAe,YAAY,CAAC,CAAC;AAExD,
|
|
1
|
+
{"version":3,"file":"test.js","sourceRoot":"","sources":["../src/test.ts"],"names":[],"mappings":";;AACA,uCAAoC;AAQpC,MAAM,OAAO,GAAG,IAAI,iBAAO,CAAe,YAAY,CAAC,CAAC;AAExD,MAAM,YAAY,GAAG,KAAK,EAAE,KAAW,EAAE,SAAiB,EAAmB,EAAE;IACvE,2CAA2C;IAC3C,sDAAsD;IACtD,6BAA6B;IAC7B,mGAAmG;IACnG,oBAAoB;IACpB,UAAU;IACV,WAAW;IACP,MAAM,IAAI,KAAK,CAAC,uBAAuB,KAAK,CAAC,MAAM,OAAO,SAAS,EAAE,CAAC,CAAC;IACvE,0EAA0E;IAC9E,IAAI;AACR,CAAC,CAAA;AAEL,OAAO,CAAC,SAAS,CAAC;IACd,EAAE,EAAE,UAAU;IACd,OAAO,EAAE,GAAG;IACZ,GAAG,EAAE,QAAQ;IACb,IAAI,EAAE,QAAQ;IACd,WAAW,EAAE,EAAE;IACf,QAAQ,EAAE,CAAC;IACX,EAAE,EAAE,YAAY;CACnB,EAAE,IAAI,CAAC,CAAC;AAET,OAAO,CAAC,SAAS,CAAC;IACd,EAAE,EAAE,MAAM;IACV,OAAO,EAAE,GAAG;IACZ,GAAG,EAAE,QAAQ;IACb,IAAI,EAAE,OAAO;IACb,QAAQ,EAAE,CAAC;IACX,EAAE,EAAE,YAAY;CACnB,EAAE,IAAI,CAAC,CAAC;AAET,OAAO,CAAC,SAAS,CAAC;IACd,EAAE,EAAE,SAAS;IACb,OAAO,EAAE,GAAG;IACZ,GAAG,EAAE,QAAQ;IACb,IAAI,EAAE,OAAO;IACb,QAAQ,EAAE,CAAC;IACX,EAAE,EAAE,YAAY;CACnB,EAAE,IAAI,CAAC,CAAC;AAET,OAAO,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,EAAE;IAC7B,4CAA4C;AAChD,CAAC,CAAC,CAAC;AAEH,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;IAC/B,2CAA2C;IAC3C,IAAI,CAAC;QACD,mDAAmD;IACvD,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QAClB,OAAO,CAAC,KAAK,CAAC,mBAAmB,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IACtE,CAAC;AACL,CAAC,CAAC,CAAC;AAGH,wBAAwB;AACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;IAC1B,OAAO,CAAC,MAAM,CAAC;QACX,OAAO,EAAE,OAAO;QAChB,MAAM,EAAE,QAAQ,CAAC,EAAE;KACtB,EAAE;QACC,KAAK,EAAE,CAAC,CAAC,QAAQ,EAAE;KACtB,CAAC,CAAC;AACP,CAAC;AAEG,mBAAmB;AACnB,wBAAwB;AACxB,wBAAwB;AACxB,OAAO;AACP,kBAAkB;AAClB,kCAAkC;AAClC,MAAM;AAEN,uBAAuB;AACvB,wBAAwB;AACxB,wBAAwB;AACxB,OAAO;AACP,kBAAkB;AAClB,qCAAqC;AACrC,MAAM"}
|