cry-ebus2 2.2.6 → 3.0.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/broker.d.ts.map +1 -1
- package/dist/broker.js +6 -5
- package/dist/broker.js.map +1 -1
- package/dist/clientBlocking.js +5 -5
- package/dist/clientBlocking.js.map +1 -1
- package/dist/clientNonBlocking.js +5 -5
- package/dist/clientNonBlocking.js.map +1 -1
- package/dist/delayWorker.js +2 -2
- package/dist/delayWorker.js.map +1 -1
- package/dist/echoWorker.js +1 -1
- package/dist/echoWorker.js.map +1 -1
- package/dist/errorWorker.js +1 -1
- package/dist/errorWorker.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/loadConfiguration.js +1 -1
- package/dist/loadConfiguration.js.map +1 -1
- package/dist/pub.js +2 -2
- package/dist/pub.js.map +1 -1
- package/dist/rejectWorker.js +1 -1
- package/dist/rejectWorker.js.map +1 -1
- package/dist/run/all.js +1 -1
- package/dist/run/all.js.map +1 -1
- package/dist/run/broker.js +1 -1
- package/dist/run/broker.js.map +1 -1
- package/dist/run/call.js +3 -3
- package/dist/run/call.js.map +1 -1
- package/dist/run/calling.js +2 -2
- package/dist/run/calling.js.map +1 -1
- package/dist/run/callingBurst.js +2 -2
- package/dist/run/callingBurst.js.map +1 -1
- package/dist/run/delay.js +1 -1
- package/dist/run/delay.js.map +1 -1
- package/dist/run/echo.js +1 -1
- package/dist/run/echo.js.map +1 -1
- package/dist/run/error.js +1 -1
- package/dist/run/error.js.map +1 -1
- package/dist/run/ping.js +3 -3
- package/dist/run/ping.js.map +1 -1
- package/dist/run/pub.js +2 -2
- package/dist/run/pub.js.map +1 -1
- package/dist/run/reject.js +1 -1
- package/dist/run/reject.js.map +1 -1
- package/dist/run/sub.js +1 -1
- package/dist/run/sub.js.map +1 -1
- package/dist/run/workers.js +2 -2
- package/dist/run/workers.js.map +1 -1
- package/dist/serialize.d.ts.map +1 -1
- package/dist/serialize.js +12 -14
- package/dist/serialize.js.map +1 -1
- package/dist/sub.js +2 -2
- package/dist/sub.js.map +1 -1
- package/dist/test/config.js +3 -3
- package/dist/test/config.js.map +1 -1
- package/dist/test/echo.js +15 -21
- package/dist/test/echo.js.map +1 -1
- package/dist/test/pack.js +16 -12
- package/dist/test/pack.js.map +1 -1
- package/dist/test/performance.js +9 -9
- package/dist/test/performance.js.map +1 -1
- package/dist/test/pub.js.map +1 -1
- package/dist/test/reject.js +7 -7
- package/dist/test/reject.js.map +1 -1
- package/dist/test/services.js +9 -9
- package/dist/test/services.js.map +1 -1
- package/dist/test/stress.js +1 -1
- package/dist/test/stress.js.map +1 -1
- package/dist/test/timing.js +14 -14
- package/dist/test/timing.js.map +1 -1
- package/dist/worker.d.ts +1 -1
- package/dist/worker.d.ts.map +1 -1
- package/dist/worker.js +10 -9
- package/dist/worker.js.map +1 -1
- package/package.json +13 -12
- package/src/index.ts +0 -3
- package/src/run/call.ts +1 -1
- package/src/run/ping.ts +1 -1
- package/src/run/workers.ts +1 -1
- package/src/serialize.ts +9 -10
- package/src/src/notepack.d.ts +2 -0
- package/src/test/echo.ts +15 -18
- package/src/test/pack.ts +9 -8
- package/src/test/performance.ts +13 -12
- package/src/test/pub.ts +1 -3
- package/src/worker.ts +8 -6
package/dist/test/timing.js
CHANGED
|
@@ -17,33 +17,33 @@ describe('timing', async function () {
|
|
|
17
17
|
let client = new client_1.Client();
|
|
18
18
|
it('should return passed-in object', async () => {
|
|
19
19
|
let rep = await client.request("delay", { delay: 100 }, { receiveTimeout: 1000 });
|
|
20
|
-
chai_1.expect(rep === null || rep === void 0 ? void 0 : rep.delay).to.eq(100);
|
|
20
|
+
(0, chai_1.expect)(rep === null || rep === void 0 ? void 0 : rep.delay).to.eq(100);
|
|
21
21
|
});
|
|
22
22
|
it('should not return passed-in object', async () => {
|
|
23
23
|
var _a;
|
|
24
24
|
let rep = await client.request("delay", { delay: 200 }, { receiveTimeout: 100 });
|
|
25
|
-
chai_1.expect(rep).to.eq(undefined);
|
|
26
|
-
chai_1.expect((_a = client === null || client === void 0 ? void 0 : client.lastError) === null || _a === void 0 ? void 0 : _a.reason).to.eq("timeout");
|
|
25
|
+
(0, chai_1.expect)(rep).to.eq(undefined);
|
|
26
|
+
(0, chai_1.expect)((_a = client === null || client === void 0 ? void 0 : client.lastError) === null || _a === void 0 ? void 0 : _a.reason).to.eq("timeout");
|
|
27
27
|
});
|
|
28
28
|
it('should not return object for non-existing worker', async () => {
|
|
29
29
|
let rep = await client.request("delayxx", { delay: 200 }, { receiveTimeout: 100 });
|
|
30
|
-
chai_1.expect(rep).to.eq(undefined);
|
|
30
|
+
(0, chai_1.expect)(rep).to.eq(undefined);
|
|
31
31
|
});
|
|
32
32
|
it('should not return data if error in worker', async () => {
|
|
33
33
|
var _a, _b, _c;
|
|
34
34
|
let rep = await client.request("error", { delay: 50, message: "test error", more: 1 }, { receiveTimeout: 100 });
|
|
35
|
-
chai_1.expect(rep).to.eq(undefined);
|
|
36
|
-
chai_1.expect((_a = client.lastError) === null || _a === void 0 ? void 0 : _a.rejectMessage).to.eq("test error");
|
|
37
|
-
chai_1.expect((_b = client.lastError) === null || _b === void 0 ? void 0 : _b.reason).to.eq("error");
|
|
38
|
-
chai_1.expect((_c = client.lastError) === null || _c === void 0 ? void 0 : _c.more).to.eq(1);
|
|
35
|
+
(0, chai_1.expect)(rep).to.eq(undefined);
|
|
36
|
+
(0, chai_1.expect)((_a = client.lastError) === null || _a === void 0 ? void 0 : _a.rejectMessage).to.eq("test error");
|
|
37
|
+
(0, chai_1.expect)((_b = client.lastError) === null || _b === void 0 ? void 0 : _b.reason).to.eq("error");
|
|
38
|
+
(0, chai_1.expect)((_c = client.lastError) === null || _c === void 0 ? void 0 : _c.more).to.eq(1);
|
|
39
39
|
});
|
|
40
40
|
it('should not return reject', async () => {
|
|
41
41
|
var _a, _b, _c;
|
|
42
42
|
let rep = await client.request("reject", { delay: 50, message: "test reject", more: 1 }, { receiveTimeout: 1000 });
|
|
43
|
-
chai_1.expect(rep).to.eq(undefined);
|
|
44
|
-
chai_1.expect((_a = client.lastError) === null || _a === void 0 ? void 0 : _a.rejectMessage).to.eq("test reject");
|
|
45
|
-
chai_1.expect((_b = client.lastError) === null || _b === void 0 ? void 0 : _b.reason).to.eq("reject");
|
|
46
|
-
chai_1.expect((_c = client.lastError) === null || _c === void 0 ? void 0 : _c.more).to.eq(1);
|
|
43
|
+
(0, chai_1.expect)(rep).to.eq(undefined);
|
|
44
|
+
(0, chai_1.expect)((_a = client.lastError) === null || _a === void 0 ? void 0 : _a.rejectMessage).to.eq("test reject");
|
|
45
|
+
(0, chai_1.expect)((_b = client.lastError) === null || _b === void 0 ? void 0 : _b.reason).to.eq("reject");
|
|
46
|
+
(0, chai_1.expect)((_c = client.lastError) === null || _c === void 0 ? void 0 : _c.more).to.eq(1);
|
|
47
47
|
});
|
|
48
48
|
it('should not block worker', async () => {
|
|
49
49
|
var _a;
|
|
@@ -60,8 +60,8 @@ describe('timing', async function () {
|
|
|
60
60
|
];
|
|
61
61
|
let resolved = await Promise.all(promises);
|
|
62
62
|
let cnt = resolved.filter(a => a).length;
|
|
63
|
-
chai_1.expect(cnt).to.eq(6);
|
|
64
|
-
chai_1.expect((_a = client === null || client === void 0 ? void 0 : client.lastError) === null || _a === void 0 ? void 0 : _a.reason).to.eq("timeout");
|
|
63
|
+
(0, chai_1.expect)(cnt).to.eq(6);
|
|
64
|
+
(0, chai_1.expect)((_a = client === null || client === void 0 ? void 0 : client.lastError) === null || _a === void 0 ? void 0 : _a.reason).to.eq("timeout");
|
|
65
65
|
});
|
|
66
66
|
it('exists', () => {
|
|
67
67
|
process.exit();
|
package/dist/test/timing.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"timing.js","sourceRoot":"","sources":["../../src/test/timing.ts"],"names":[],"mappings":";;AACA,+BAA6B;AAC7B,sCAAmC;AACnC,8CAA2C;AAC3C,gDAA6C;AAC7C,kDAA+C;AAC/C,oCAA6D;AAE7D,QAAQ,CAAC,QAAQ,EAAE,KAAK;IAEpB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IAGlB,IAAI,cAAM,EAAE,CAAC,KAAK,EAAE,CAAA;IACpB,IAAI,uBAAU,EAAE,CAAC,KAAK,EAAE,CAAA;IACxB,IAAI,mBAAW,EAAE,CAAC,KAAK,EAAE,CAAA;IACzB,IAAI,mBAAW,EAAE,CAAC,KAAK,EAAE,CAAA;IACzB,IAAI,yBAAW,EAAE,CAAC,KAAK,EAAE,CAAA;IACzB,IAAI,2BAAY,EAAE,CAAC,KAAK,EAAE,CAAA;IAE1B,IAAI,MAAM,GAAG,IAAI,eAAM,EAAE,CAAA;IAEzB,EAAE,CAAC,gCAAgC,EAAE,KAAK,IAAI,EAAE;QAC5C,IAAI,GAAG,GAAG,MAAM,MAAM,CAAC,OAAO,CAAoB,OAAO,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAA;QACpG,aAAM,
|
|
1
|
+
{"version":3,"file":"timing.js","sourceRoot":"","sources":["../../src/test/timing.ts"],"names":[],"mappings":"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"}
|
package/dist/worker.d.ts
CHANGED
|
@@ -14,7 +14,7 @@ export declare class Worker {
|
|
|
14
14
|
exit(): Promise<void>;
|
|
15
15
|
startHeartbeat(): void;
|
|
16
16
|
start(): Promise<void>;
|
|
17
|
-
onError(err: any): Promise<void>;
|
|
17
|
+
onError(err: any, req: any, opts: any): Promise<void>;
|
|
18
18
|
private processRequest;
|
|
19
19
|
private returnReply;
|
|
20
20
|
stop(): Promise<void>;
|
package/dist/worker.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../src/worker.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../src/worker.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC/B,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAUzD,qBAAa,MAAM;IACf,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,SAAK;IACZ,MAAM,EAAE,MAAM,GAAG,SAAS,CAAA;IAC1B,aAAa,EAAE,iBAAiB,CAAA;IAChC,QAAQ,EAAE,MAAM,CAAC,OAAO,GAAG,SAAS,CAAA;IACpC,aAAa,EAAE,MAAM,CAAA;IACrB,UAAU,EAAE,OAAO,CAAA;gBAEP,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAM;IAYhE,IAAI;IAYV,cAAc;IAgCR,KAAK;IAuFE,OAAO,CAAC,GAAG,EAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG;YAMnC,cAAc;YAwDd,WAAW;IAmBnB,IAAI;IAoBJ,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG;IAerC,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAG,OAAO,CAAC,kBAAkB,CAAC,GAAG,OAAO,CAAC,GAAG,GAAG;QAAC,IAAI,EAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;QAAC,IAAI,EAAE,GAAG,CAAA;KAAC,CAAC;CAG9H"}
|
package/dist/worker.js
CHANGED
|
@@ -14,7 +14,7 @@ class Worker {
|
|
|
14
14
|
constructor(service, config = {}) {
|
|
15
15
|
this.service = "";
|
|
16
16
|
this.service = service || this.service;
|
|
17
|
-
this.configuration = loadConfiguration_1.loadConfiguration(prefixes, config);
|
|
17
|
+
this.configuration = (0, loadConfiguration_1.loadConfiguration)(prefixes, config);
|
|
18
18
|
this.address = this.configuration.address;
|
|
19
19
|
this.lastHeartbeat = new Date().valueOf();
|
|
20
20
|
this.processing = false;
|
|
@@ -123,7 +123,7 @@ class Worker {
|
|
|
123
123
|
}
|
|
124
124
|
}
|
|
125
125
|
// to be implemented at the actual worker
|
|
126
|
-
async onError(err) {
|
|
126
|
+
async onError(err, req, opts) {
|
|
127
127
|
console.log('worker/onError - should override');
|
|
128
128
|
}
|
|
129
129
|
async processRequest(reqId, optBuff, type, req, client) {
|
|
@@ -132,17 +132,18 @@ class Worker {
|
|
|
132
132
|
let timeout = opts.receiveTimeout || this.configuration.receiveTimeout;
|
|
133
133
|
let responseMessageType = types_1.Message.Reply;
|
|
134
134
|
let promises = [
|
|
135
|
-
this.process(serialize_1.unpack(req, opts), opts),
|
|
136
|
-
sleep_1.sleep(timeout, new EbusReject_1.EbusRejectError("timeout", `timeout in worker for '${this.service}' after ${timeout} ms`, opts))
|
|
135
|
+
this.process((0, serialize_1.unpack)(req, opts), opts),
|
|
136
|
+
(0, sleep_1.sleep)(timeout, new EbusReject_1.EbusRejectError("timeout", `timeout in worker for '${this.service}' after ${timeout} ms`, opts))
|
|
137
137
|
];
|
|
138
138
|
let rep;
|
|
139
139
|
try {
|
|
140
140
|
rep = await Promise.race(promises);
|
|
141
141
|
if (rep instanceof EbusReject_1.EbusRejectError && rep.reason === "timeout") {
|
|
142
142
|
log.warn(`request expired at worker for '${this.service}' after ${timeout} ms with opts ${cry_helpers_1.serialize.pack(opts)}`);
|
|
143
|
-
log
|
|
143
|
+
console.log('opts', opts);
|
|
144
|
+
log.warn((0, serialize_1.unpack)(req, opts));
|
|
144
145
|
responseMessageType = types_1.Message.Timeout;
|
|
145
|
-
this.onError("timeout");
|
|
146
|
+
this.onError("timeout", (0, serialize_1.unpack)(req, opts), opts);
|
|
146
147
|
}
|
|
147
148
|
}
|
|
148
149
|
catch (err) {
|
|
@@ -157,7 +158,7 @@ class Worker {
|
|
|
157
158
|
responseMessageType = types_1.Message.Reject;
|
|
158
159
|
if (rep instanceof EbusReject_1.EbusRejectError && rep.reason === "error")
|
|
159
160
|
responseMessageType = types_1.Message.Error;
|
|
160
|
-
this.onError(err);
|
|
161
|
+
this.onError(err, (0, serialize_1.unpack)(req, opts), opts);
|
|
161
162
|
}
|
|
162
163
|
let data = rep;
|
|
163
164
|
if (rep instanceof EbusReject_1.EbusRejectError)
|
|
@@ -179,7 +180,7 @@ class Worker {
|
|
|
179
180
|
null,
|
|
180
181
|
reqId,
|
|
181
182
|
cry_helpers_1.serialize.pack(opts),
|
|
182
|
-
serialize_1.pack(data, opts),
|
|
183
|
+
(0, serialize_1.pack)(data, opts),
|
|
183
184
|
]);
|
|
184
185
|
}
|
|
185
186
|
catch (err) {
|
|
@@ -209,7 +210,7 @@ class Worker {
|
|
|
209
210
|
log.error(`worker for '${this.service}' not connected, cannot publish to ${channel}`, message);
|
|
210
211
|
return;
|
|
211
212
|
}
|
|
212
|
-
await this.socket.send([null, types_1.Header.Worker, types_1.Message.Publish, channel, serialize_1.pack(message, {})]);
|
|
213
|
+
await this.socket.send([null, types_1.Header.Worker, types_1.Message.Publish, channel, (0, serialize_1.pack)(message, {})]);
|
|
213
214
|
log.debug(`ebus worker published on '${channel}'`, message);
|
|
214
215
|
// let socket = new Request()
|
|
215
216
|
// await socket.connect(this.configuration.address)
|
package/dist/worker.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker.js","sourceRoot":"","sources":["../src/worker.ts"],"names":[],"mappings":";;;AAAA,6CAA4C;AAC5C,
|
|
1
|
+
{"version":3,"file":"worker.js","sourceRoot":"","sources":["../src/worker.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "cry-ebus2",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "3.0.1",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"types": "./dist/index.d.ts",
|
|
@@ -14,20 +14,21 @@
|
|
|
14
14
|
"author": "Primož Krajnik",
|
|
15
15
|
"license": "ISC",
|
|
16
16
|
"devDependencies": {
|
|
17
|
-
"@types/node": "^
|
|
18
|
-
"typescript": "^4.
|
|
17
|
+
"@types/node": "^16.11.11",
|
|
18
|
+
"typescript": "^4.5.2"
|
|
19
19
|
},
|
|
20
20
|
"dependencies": {
|
|
21
|
-
"@types/chai": "^4.2.
|
|
22
|
-
"@types/mocha": "^
|
|
23
|
-
"@types/pako": "^1.0.
|
|
24
|
-
"chai": "^4.
|
|
21
|
+
"@types/chai": "^4.2.22",
|
|
22
|
+
"@types/mocha": "^9.0.0",
|
|
23
|
+
"@types/pako": "^1.0.2",
|
|
24
|
+
"chai": "^4.3.4",
|
|
25
25
|
"commander": "^6.2.1",
|
|
26
|
-
"cry-helpers": "^2.1.
|
|
27
|
-
"dotenv": "^
|
|
28
|
-
"mocha": "^
|
|
29
|
-
"
|
|
30
|
-
"
|
|
26
|
+
"cry-helpers": "^2.1.37",
|
|
27
|
+
"dotenv": "^10.0.0",
|
|
28
|
+
"mocha": "^9.1.3",
|
|
29
|
+
"notepack.io": "^2.3.0",
|
|
30
|
+
"pako": "^2.0.4",
|
|
31
|
+
"tiny-typed-emitter": "^2.1.0",
|
|
31
32
|
"zeromq": "^6.0.0-beta.6"
|
|
32
33
|
}
|
|
33
34
|
}
|
package/src/index.ts
CHANGED
package/src/run/call.ts
CHANGED
package/src/run/ping.ts
CHANGED
package/src/run/workers.ts
CHANGED
package/src/serialize.ts
CHANGED
|
@@ -1,27 +1,26 @@
|
|
|
1
|
+
|
|
1
2
|
import { serialize } from "cry-helpers";
|
|
2
|
-
import {
|
|
3
|
+
import { deflateRaw, inflateRaw } from "pako";
|
|
3
4
|
import { EbusRequestOptions } from "./EbusRequestOptions";
|
|
4
|
-
|
|
5
|
+
import notepack from "notepack.io"
|
|
5
6
|
|
|
6
7
|
export function pack(data: any, opts: Partial<EbusRequestOptions>)
|
|
7
8
|
{
|
|
8
9
|
if (opts.prepacked) return data;
|
|
9
10
|
if (!opts.raw) {
|
|
10
|
-
data = serialize.
|
|
11
|
-
|
|
12
|
-
} else {
|
|
13
|
-
if (opts.zip) data = deflate( Uint8Array.from(data) )
|
|
11
|
+
data = serialize.encode(data);
|
|
12
|
+
data = notepack.encode(data);
|
|
14
13
|
}
|
|
14
|
+
if (opts.zip) data = deflateRaw(data)
|
|
15
15
|
return data
|
|
16
16
|
}
|
|
17
17
|
|
|
18
18
|
export function unpack<T>(data: any, opts: Partial<EbusRequestOptions>): T | undefined {
|
|
19
19
|
if (data === undefined) return undefined;
|
|
20
|
+
if (opts?.zip) data = inflateRaw(data)
|
|
20
21
|
if (!opts.raw) {
|
|
21
|
-
|
|
22
|
-
data = serialize.
|
|
23
|
-
} else {
|
|
24
|
-
if (opts.zip) data = Buffer.from(inflate(data))
|
|
22
|
+
data = notepack.decode(Buffer.from(data))
|
|
23
|
+
data = serialize.decode(data)
|
|
25
24
|
}
|
|
26
25
|
return data as T
|
|
27
26
|
}
|
package/src/test/echo.ts
CHANGED
|
@@ -7,7 +7,7 @@ import { Broker, DelayWorker, unpack, pack } from "../index";
|
|
|
7
7
|
|
|
8
8
|
describe('echo', async function () {
|
|
9
9
|
|
|
10
|
-
this.timeout(
|
|
10
|
+
this.timeout(60000)
|
|
11
11
|
|
|
12
12
|
new Broker().start()
|
|
13
13
|
new EchoWorker().start()
|
|
@@ -15,14 +15,17 @@ describe('echo', async function () {
|
|
|
15
15
|
|
|
16
16
|
let client = new Client()
|
|
17
17
|
|
|
18
|
+
console.log('started');
|
|
19
|
+
|
|
20
|
+
|
|
18
21
|
it('should return passed-in object', async () => {
|
|
19
|
-
let rep = await client.request<{ delay: number }>("delay", { delay:
|
|
20
|
-
expect(rep?.delay).to.eq(
|
|
22
|
+
let rep = await client.request<{ delay: number }>("delay", { delay: 50 })
|
|
23
|
+
expect(rep?.delay).to.eq(50)
|
|
21
24
|
});
|
|
22
25
|
|
|
23
26
|
it('should return passed-in object zipped', async () => {
|
|
24
|
-
let rep = await client.request<{ delay: number }>("delay", { delay:
|
|
25
|
-
expect(rep?.delay).to.eq(
|
|
27
|
+
let rep = await client.request<{ delay: number }>("delay", { delay: 50 }, { zip: true })
|
|
28
|
+
expect(rep?.delay).to.eq(50)
|
|
26
29
|
});
|
|
27
30
|
|
|
28
31
|
|
|
@@ -35,24 +38,24 @@ describe('echo', async function () {
|
|
|
35
38
|
it('should return passed-in object raw and zipped', async () => {
|
|
36
39
|
let load = Buffer.from("ABC")
|
|
37
40
|
let rep = await client.request<{ delay: number }>("echo", load, { raw: true, zip: true })
|
|
38
|
-
expect(rep
|
|
41
|
+
expect(Buffer.from(rep as any).toString()).to.eq("ABC")
|
|
39
42
|
});
|
|
40
43
|
|
|
44
|
+
|
|
41
45
|
it('should return unpacked object', async () => {
|
|
42
46
|
let load = Buffer.from("ABC")
|
|
43
47
|
let res = (await client.requestUpacked<{ delay: number }>("echo", load, { raw: true, zip: true, })) as unknown as EbusUnpackedResult<string>
|
|
44
|
-
let rep = unpack<string>(res.data,res.opts)
|
|
45
|
-
expect(rep
|
|
48
|
+
let rep = unpack<string>(res.data, res.opts)
|
|
49
|
+
expect(Buffer.from(rep as any).toString()).to.eq("ABC")
|
|
46
50
|
});
|
|
47
51
|
|
|
48
|
-
|
|
49
52
|
it('should accept externally prepacked object', async () => {
|
|
50
53
|
let load = { a: { b: 2 } }
|
|
51
54
|
let loadPrepacked = pack(load,{ zip: true })
|
|
52
55
|
let rep = (await client.request<{ a: { b:2 } }>("echo", loadPrepacked, { prepacked:true, zip: true, receiveTimeout:30000 }))
|
|
53
56
|
expect(rep!.a.b).to.eq(2)
|
|
54
57
|
});
|
|
55
|
-
|
|
58
|
+
|
|
56
59
|
it('should accept externally prepacked object', async () => {
|
|
57
60
|
let load = { a: { b: 2 } }
|
|
58
61
|
let loadPrepacked = pack(load, { zip: true })
|
|
@@ -60,15 +63,9 @@ describe('echo', async function () {
|
|
|
60
63
|
let rep = unpack < { a: { b: 2 } }>(res.data, res.opts)
|
|
61
64
|
expect(rep!.a.b).to.eq(2)
|
|
62
65
|
});
|
|
66
|
+
|
|
63
67
|
|
|
64
|
-
|
|
65
|
-
let load = { a: { b: 2 } }
|
|
66
|
-
let loadPrepacked = pack(load, { zip: true })
|
|
67
|
-
let res = (await client.requestUpacked<{ a: { b: 2 } }>("echo", loadPrepacked, { prepacked: true, zip: true, receiveTimeout: 30000 })) as unknown as EbusUnpackedResult<{ a: { b: 2 } }>
|
|
68
|
-
let rep = unpack<{ a: { b: 2 } }>(res.data, res.opts)
|
|
69
|
-
expect(rep!.a.b).to.eq(2)
|
|
70
|
-
});
|
|
71
|
-
|
|
68
|
+
|
|
72
69
|
it('exists', () => {
|
|
73
70
|
process.exit()
|
|
74
71
|
})
|
package/src/test/pack.ts
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
|
|
2
2
|
import { expect } from "chai";
|
|
3
|
-
import { EbusRequestOptions } from "../EbusRequestOptions";
|
|
4
3
|
import { unpack, pack } from "../index";
|
|
5
4
|
|
|
6
|
-
describe('
|
|
5
|
+
describe('pack', async function () {
|
|
7
6
|
|
|
8
7
|
let o = () => [{ o: 1, a: ["ABC"] }];
|
|
9
8
|
|
|
@@ -16,20 +15,23 @@ describe('stress', async function () {
|
|
|
16
15
|
expect(o1[0].a[0]).to.eq("ABC")
|
|
17
16
|
expect(o2[0].a[0]).to.eq("ABC")
|
|
18
17
|
});
|
|
19
|
-
|
|
20
18
|
it('should unpack serialized, unzipped', async () => {
|
|
21
|
-
let opts = {}
|
|
22
|
-
|
|
19
|
+
let opts = { zip: true }
|
|
20
|
+
let packed = pack(o(), opts)
|
|
21
|
+
let unpacked = unpack<any>(packed, opts)
|
|
22
|
+
expect(unpacked[0].a[0]).to.eq("ABC")
|
|
23
23
|
});
|
|
24
24
|
it('should unpack serialized, zipped', async () => {
|
|
25
25
|
let opts = { zip: true }
|
|
26
|
-
|
|
26
|
+
let packed = pack(o(), opts)
|
|
27
|
+
let unpacked = unpack<any>(packed, opts)
|
|
28
|
+
expect(unpacked[0].a[0]).to.eq("ABC")
|
|
27
29
|
});
|
|
28
30
|
it('should unpack serialized, zipped', async () => {
|
|
29
31
|
let opts = { zip: true, raw: true }
|
|
30
32
|
let buff1 = Buffer.from( JSON.stringify(o()) )
|
|
31
33
|
let buff2 = Buffer.from( JSON.stringify(o()) )
|
|
32
|
-
let res = unpack<any>(pack(buff1, opts), opts)
|
|
34
|
+
let res = Buffer.from(unpack<any>(pack(buff1, opts), opts))
|
|
33
35
|
expect(res.toString()).to.equal(buff2.toString())
|
|
34
36
|
});
|
|
35
37
|
it('should unpack unserialized, zipped', async () => {
|
|
@@ -37,7 +39,6 @@ describe('stress', async function () {
|
|
|
37
39
|
let buff1 = Buffer.from(JSON.stringify(o()))
|
|
38
40
|
let buff2 = Buffer.from(JSON.stringify(o()))
|
|
39
41
|
let res = unpack<any>(pack(buff1, opts), opts)
|
|
40
|
-
|
|
41
42
|
for (let i = 0; i < buff2.length; i++)
|
|
42
43
|
expect(res[i]).to.equal(buff2[i])
|
|
43
44
|
|
package/src/test/performance.ts
CHANGED
|
@@ -4,16 +4,16 @@ import { EbusRequestOptions } from "../EbusRequestOptions";
|
|
|
4
4
|
import { EchoWorker } from "../echoWorker";
|
|
5
5
|
import { Broker, DelayWorker, unpack, pack } from "../index";
|
|
6
6
|
|
|
7
|
-
describe('
|
|
8
|
-
|
|
9
|
-
this.timeout(10000)
|
|
7
|
+
describe('performance', async function () {
|
|
10
8
|
|
|
9
|
+
this.timeout(160000)
|
|
11
10
|
new Broker().start()
|
|
12
|
-
new DelayWorker().start()
|
|
13
11
|
new EchoWorker().start()
|
|
12
|
+
new DelayWorker().start()
|
|
13
|
+
|
|
14
14
|
let client = new Client()
|
|
15
15
|
|
|
16
|
-
let requestSizes = [1, 10, 100, 1000, 10000]
|
|
16
|
+
let requestSizes = [1, 10, 100, 1000, 10000, 100000]
|
|
17
17
|
|
|
18
18
|
function sizedRq(size: number) {
|
|
19
19
|
let bigRequest = Array(size)
|
|
@@ -29,7 +29,8 @@ describe('stress', async function () {
|
|
|
29
29
|
|
|
30
30
|
async function measure(name: string, opts: Partial<EbusRequestOptions>) {
|
|
31
31
|
let sizedRequests = requestSizes.map(r => sizedRq(r))
|
|
32
|
-
let line
|
|
32
|
+
let line: any[] = [name]
|
|
33
|
+
|
|
33
34
|
for (let req of sizedRequests) {
|
|
34
35
|
let start = new Date().valueOf()
|
|
35
36
|
let rep = await client.request<any>("delay", { delay: 10, req }, opts)
|
|
@@ -41,13 +42,13 @@ describe('stress', async function () {
|
|
|
41
42
|
printLine(line)
|
|
42
43
|
}
|
|
43
44
|
|
|
44
|
-
it('should
|
|
45
|
-
|
|
45
|
+
it('should measure raw', async () => {
|
|
46
|
+
|
|
46
47
|
printLine([ 'opts', ...requestSizes ])
|
|
47
|
-
|
|
48
|
-
await measure("+raw -zipped",{ raw:true, zip: false, receiveTimeout: 4000 })
|
|
49
|
-
|
|
50
|
-
await measure("+raw +zipped",{ raw:true, zip: true, receiveTimeout: 4000 })
|
|
48
|
+
await measure("-raw -zipped",{ raw:false, zip: false, receiveTimeout: 4000 })
|
|
49
|
+
// await measure("+raw -zipped",{ raw:true, zip: false, receiveTimeout: 4000 })
|
|
50
|
+
await measure("-raw +zipped",{ raw:false, zip: true, receiveTimeout: 4000 })
|
|
51
|
+
// await measure("+raw +zipped",{ raw:true, zip: true, receiveTimeout: 4000 })
|
|
51
52
|
|
|
52
53
|
});
|
|
53
54
|
|
package/src/test/pub.ts
CHANGED
|
@@ -1,9 +1,7 @@
|
|
|
1
|
-
import { expect } from "chai"
|
|
2
|
-
import { Worker, worker } from "cluster";
|
|
3
1
|
import { Client } from "../client";
|
|
4
2
|
import { EchoWorker } from "../echoWorker";
|
|
5
3
|
import { ErrorWorker } from "../errorWorker";
|
|
6
|
-
import { Broker, DelayWorker
|
|
4
|
+
import { Broker, DelayWorker } from "../index";
|
|
7
5
|
import { RejectWorker } from "../rejectWorker";
|
|
8
6
|
import { Sub } from "../sub";
|
|
9
7
|
|
package/src/worker.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Log , serialize} from "cry-helpers"
|
|
2
|
-
import { Dealer
|
|
2
|
+
import { Dealer } from "zeromq"
|
|
3
3
|
import { EbusConfiguration } from "./EbusConfiguration"
|
|
4
4
|
import { EbusRequestOptions } from "./EbusRequestOptions"
|
|
5
5
|
import { loadConfiguration } from "./loadConfiguration"
|
|
@@ -163,14 +163,14 @@ export class Worker {
|
|
|
163
163
|
}
|
|
164
164
|
|
|
165
165
|
// to be implemented at the actual worker
|
|
166
|
-
public async onError(err:any)
|
|
166
|
+
public async onError(err:any, req: any, opts: any)
|
|
167
167
|
{
|
|
168
168
|
console.log('worker/onError - should override');
|
|
169
169
|
|
|
170
170
|
}
|
|
171
171
|
|
|
172
172
|
private async processRequest(reqId: Buffer, optBuff: Buffer, type: Buffer, req: Buffer, client: Buffer) {
|
|
173
|
-
|
|
173
|
+
|
|
174
174
|
let opts = serialize.unpack(optBuff) as Partial<EbusRequestOptions>
|
|
175
175
|
log.debug(`worker for ${this.service} received request ${type} with opts`, opts)
|
|
176
176
|
|
|
@@ -188,11 +188,13 @@ export class Worker {
|
|
|
188
188
|
rep = await Promise.race(promises)
|
|
189
189
|
if (rep instanceof EbusRejectError && rep.reason === "timeout") {
|
|
190
190
|
log.warn(`request expired at worker for '${this.service}' after ${timeout} ms with opts ${serialize.pack(opts)}`)
|
|
191
|
+
console.log('opts',opts);
|
|
192
|
+
|
|
191
193
|
log.warn(unpack(req, opts))
|
|
192
194
|
responseMessageType = Message.Timeout
|
|
193
|
-
this.onError("timeout");
|
|
195
|
+
this.onError("timeout", unpack(req, opts), opts);
|
|
194
196
|
}
|
|
195
|
-
} catch (err) {
|
|
197
|
+
} catch (err:any) {
|
|
196
198
|
rep = err
|
|
197
199
|
if (!(rep instanceof EbusRejectError)) {
|
|
198
200
|
rep = new EbusRejectError("error", `error in worker for '${this.service}' process method: '${err.message}'`, err);
|
|
@@ -205,7 +207,7 @@ export class Worker {
|
|
|
205
207
|
if (rep instanceof EbusRejectError && rep.reason === "error")
|
|
206
208
|
responseMessageType = Message.Error
|
|
207
209
|
|
|
208
|
-
this.onError(err);
|
|
210
|
+
this.onError(err, unpack(req, opts), opts );
|
|
209
211
|
}
|
|
210
212
|
|
|
211
213
|
let data = rep;
|