@spider-mesh/core 1.0.36 → 1.0.38
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/build/src/SpiderMesh.d.ts +2 -2
- package/build/src/SpiderMesh.js +20 -12
- package/build/src/SpiderMesh.js.map +1 -1
- package/build/src/decorators/LimitConcurrentRunning.d.ts +3 -0
- package/build/src/decorators/LimitConcurrentRunning.js +23 -0
- package/build/src/decorators/LimitConcurrentRunning.js.map +1 -0
- package/build/src/decorators/ListenEvent.d.ts +4 -3
- package/build/src/decorators/ListenEvent.js +6 -2
- package/build/src/decorators/ListenEvent.js.map +1 -1
- package/build/src/index.d.ts +2 -1
- package/build/src/index.js +2 -1
- package/build/src/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -37,10 +37,10 @@ export declare class SpiderMesh {
|
|
|
37
37
|
}, wait_service_online?: boolean): Promise<RemoteService<T>>;
|
|
38
38
|
link_event<T>(event_factory: {
|
|
39
39
|
new (...args: any[]): T;
|
|
40
|
-
}): Promise<EventHub<T>>;
|
|
40
|
+
}, publish_buffer_ms?: number): Promise<EventHub<T>>;
|
|
41
41
|
publish<T = any>(topic: string | {
|
|
42
42
|
new (): EventHub<T>;
|
|
43
|
-
},
|
|
43
|
+
}, payload: T): Promise<void>;
|
|
44
44
|
listen<T = any>(topic: string | {
|
|
45
45
|
new (): EventHub<T>;
|
|
46
46
|
}): Observable<SpiderMeshTransporterEvent<T>>;
|
package/build/src/SpiderMesh.js
CHANGED
|
@@ -6,7 +6,7 @@ import { RPCOptionsList } from './RPCOptions.js';
|
|
|
6
6
|
import os from 'os';
|
|
7
7
|
import { listEventSubscribers } from './decorators/ListenEvent.js';
|
|
8
8
|
import { listReadyHookMethods } from './decorators/OnMicroserviceReady.js';
|
|
9
|
-
import { BehaviorSubject, Subject, filter, from, mergeMap } from 'rxjs';
|
|
9
|
+
import { BehaviorSubject, Subject, bufferTime, filter, from, map, mergeAll, mergeMap } from 'rxjs';
|
|
10
10
|
import { readFileSync } from 'fs';
|
|
11
11
|
import { serviceInstanceList } from './decorators/Microservice.js';
|
|
12
12
|
import { sleep } from './helpers/sleep.js';
|
|
@@ -340,9 +340,12 @@ export class SpiderMesh {
|
|
|
340
340
|
}
|
|
341
341
|
});
|
|
342
342
|
}
|
|
343
|
-
async link_event(event_factory) {
|
|
343
|
+
async link_event(event_factory, publish_buffer_ms) {
|
|
344
|
+
const $ = new Subject();
|
|
345
|
+
const $$ = publish_buffer_ms ? $.pipe(bufferTime(publish_buffer_ms)) : $;
|
|
346
|
+
$$.subscribe(data => this.publish(event_factory.name, data));
|
|
344
347
|
const event_hub = {
|
|
345
|
-
publish: (data) =>
|
|
348
|
+
publish: async (data) => $.next(data),
|
|
346
349
|
listen: () => this.listen(event_factory.name)
|
|
347
350
|
};
|
|
348
351
|
return event_hub;
|
|
@@ -353,13 +356,10 @@ export class SpiderMesh {
|
|
|
353
356
|
this.#local_rpc_services.set(name, instance);
|
|
354
357
|
this.listen(name).subscribe(evt => this.#node_event_handler(evt));
|
|
355
358
|
const event_subscribers = listEventSubscribers(prototype);
|
|
356
|
-
for (const { event, method,
|
|
357
|
-
this
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
await instance[method]?.(evt.data, evt.sender_node_id);
|
|
361
|
-
}, limit))
|
|
362
|
-
.subscribe();
|
|
359
|
+
for (const { event, method, buffer_ms } of event_subscribers) {
|
|
360
|
+
const $ = this.listen(event).pipe(filter(() => !this.#$isolated.value));
|
|
361
|
+
const $$ = buffer_ms ? $.pipe(bufferTime(buffer_ms)) : $;
|
|
362
|
+
$$.subscribe(e => instance[method]?.(e));
|
|
363
363
|
}
|
|
364
364
|
}
|
|
365
365
|
async #wait_service_online(service_name = 'all') {
|
|
@@ -378,14 +378,22 @@ export class SpiderMesh {
|
|
|
378
378
|
instance[method]?.();
|
|
379
379
|
}
|
|
380
380
|
}
|
|
381
|
-
async publish(topic,
|
|
381
|
+
async publish(topic, payload) {
|
|
382
382
|
await this.#initing;
|
|
383
383
|
const event = typeof topic == 'string' ? topic : topic.name;
|
|
384
|
+
const data = Array.isArray(payload) ? payload : [payload];
|
|
384
385
|
this.transporter.publish({ event, data });
|
|
385
386
|
}
|
|
386
387
|
listen(topic) {
|
|
387
388
|
const topic_name = typeof topic == 'string' ? topic : topic.name;
|
|
388
|
-
return this.transporter.listen(topic_name)
|
|
389
|
+
return this.transporter.listen(topic_name).pipe(map(e => {
|
|
390
|
+
if (!Array.isArray(e.data))
|
|
391
|
+
return [];
|
|
392
|
+
return e.data.map(data => ({
|
|
393
|
+
data,
|
|
394
|
+
sender_node_id: e.sender_node_id
|
|
395
|
+
}));
|
|
396
|
+
}), mergeAll());
|
|
389
397
|
}
|
|
390
398
|
}
|
|
391
399
|
//# sourceMappingURL=SpiderMesh.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SpiderMesh.js","sourceRoot":"","sources":["../../src/SpiderMesh.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SpiderMesh.js","sourceRoot":"","sources":["../../src/SpiderMesh.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { Subject, mergeMap } from "rxjs";
|
|
2
|
+
export function LimitConcurrentRunning(limit) {
|
|
3
|
+
return (target, method, descriptor) => {
|
|
4
|
+
const bus = new Subject();
|
|
5
|
+
const fn = descriptor.value;
|
|
6
|
+
bus.pipe(mergeMap(async ({ $, args, r, s }) => {
|
|
7
|
+
try {
|
|
8
|
+
s(await fn.call($, ...args));
|
|
9
|
+
}
|
|
10
|
+
catch (e) {
|
|
11
|
+
r(e);
|
|
12
|
+
}
|
|
13
|
+
}, limit)).subscribe();
|
|
14
|
+
return {
|
|
15
|
+
value: async function (...args) {
|
|
16
|
+
return new Promise((s, r) => {
|
|
17
|
+
bus.next({ $: this, args, s, r });
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=LimitConcurrentRunning.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LimitConcurrentRunning.js","sourceRoot":"","sources":["../../../src/decorators/LimitConcurrentRunning.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAA;AAGxC,MAAM,UAAU,sBAAsB,CAAI,KAAa;IACnD,OAAO,CAAC,MAAW,EAAE,MAAc,EAAE,UAAsC,EAAE,EAAE;QAE3E,MAAM,GAAG,GAAG,IAAI,OAAO,EAKnB,CAAA;QAEJ,MAAM,EAAE,GAAG,UAAU,CAAC,KAAiB,CAAA;QAEvC,GAAG,CAAC,IAAI,CACJ,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE;YACjC,IAAI;gBACA,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,CAAA;aAC/B;YAAC,OAAO,CAAC,EAAE;gBACR,CAAC,CAAC,CAAC,CAAC,CAAA;aACP;QACL,CAAC,EAAE,KAAK,CAAC,CACZ,CAAC,SAAS,EAAE,CAAA;QAEb,OAAO;YACH,KAAK,EAAE,KAAK,WAAsB,GAAG,IAAW;gBAC5C,OAAO,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;oBACxB,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;gBACrC,CAAC,CAAC,CAAA;YACN,CAAM;SACT,CAAA;IACL,CAAC,CAAA;AACL,CAAC"}
|
|
@@ -3,13 +3,14 @@ import { SpiderMeshTransporterEvent } from '../interfaces/SpiderMeshTransporter.
|
|
|
3
3
|
export type EventMetadata<T = {}> = {
|
|
4
4
|
method: string;
|
|
5
5
|
event: string;
|
|
6
|
-
|
|
6
|
+
buffer_ms?: number;
|
|
7
7
|
};
|
|
8
8
|
export type EventHub<T> = {
|
|
9
|
-
publish: (data: T) =>
|
|
9
|
+
publish: (data: T) => void;
|
|
10
10
|
listen: () => Observable<SpiderMeshTransporterEvent<T>>;
|
|
11
11
|
};
|
|
12
|
-
export declare const ListenEvent: <R = any, T = {}>(factory: new () => EventHub<T
|
|
12
|
+
export declare const ListenEvent: <R = any, T = {}>(factory: new () => EventHub<T>) => (target: Object, method: any, descriptor: TypedPropertyDescriptor<(event: SpiderMeshTransporterEvent<T>) => R>) => void;
|
|
13
|
+
export declare const ListenEventBatch: <R = any, T = {}>(factory: new () => EventHub<T>, buffer_ms: number) => (target: Object, method: any, descriptor: TypedPropertyDescriptor<(event: SpiderMeshTransporterEvent<T>[]) => R>) => void;
|
|
13
14
|
export declare const listEventSubscribers: (target: any) => EventMetadata<{}>[];
|
|
14
15
|
export declare function createSpiderMeshEvent<T = {}>(): new () => EventHub<T>;
|
|
15
16
|
export type EventDataType<T extends EventHub<any>> = Parameters<T['publish']>[0];
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
const key = Symbol.for('SubscribeEvent');
|
|
2
|
-
export const ListenEvent = (factory
|
|
2
|
+
export const ListenEvent = (factory) => (target, method, descriptor) => {
|
|
3
3
|
const event = factory.name;
|
|
4
|
-
Object.defineProperty(descriptor.value, key, { value: { method, event
|
|
4
|
+
Object.defineProperty(descriptor.value, key, { value: { method, event } });
|
|
5
|
+
};
|
|
6
|
+
export const ListenEventBatch = (factory, buffer_ms) => (target, method, descriptor) => {
|
|
7
|
+
const event = factory.name;
|
|
8
|
+
Object.defineProperty(descriptor.value, key, { value: { method, event, buffer_ms } });
|
|
5
9
|
};
|
|
6
10
|
export const listEventSubscribers = (target) => {
|
|
7
11
|
const methods = [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ListenEvent.js","sourceRoot":"","sources":["../../../src/decorators/ListenEvent.ts"],"names":[],"mappings":"AAIA,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAA;AAcxC,MAAM,CAAC,MAAM,WAAW,GAAG,CAAkB,OAA+B,EAAE,
|
|
1
|
+
{"version":3,"file":"ListenEvent.js","sourceRoot":"","sources":["../../../src/decorators/ListenEvent.ts"],"names":[],"mappings":"AAIA,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAA;AAcxC,MAAM,CAAC,MAAM,WAAW,GAAG,CAAkB,OAA+B,EAAE,EAAE,CAAC,CAC7E,MAAc,EACd,MAAM,EACN,UAAgF,EAClF,EAAE;IACA,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAA;IAC1B,MAAM,CAAC,cAAc,CAAC,UAAU,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,KAAK,EAAsB,EAAE,CAAC,CAAA;AAClG,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAkB,OAA+B,EAAE,SAAiB,EAAE,EAAE,CAAC,CACrG,MAAc,EACd,MAAM,EACN,UAAuF,EACzF,EAAE;IACA,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAA;IAC1B,MAAM,CAAC,cAAc,CAAC,UAAU,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAsB,EAAE,CAAC,CAAA;AAC7G,CAAC,CAAA;AAMD,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,MAAM,EAAE,EAAE;IAC3C,MAAM,OAAO,GAAG,EAAqB,CAAA;IACrC,KAAK,IAAI,CAAC,GAAG,MAAM,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE;QAC1D,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE;YAChD,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAA;SACrD;KACJ;IACD,OAAO,OAAO,CAAA;AAClB,CAAC,CAAA;AAKD,MAAM,UAAU,qBAAqB;IACjC,OAAO;KAEN,CAAA;AACL,CAAC"}
|
package/build/src/index.d.ts
CHANGED
|
@@ -7,5 +7,6 @@ export { RemoteService } from './interfaces/RemoteService.js';
|
|
|
7
7
|
export { RPCOptions, RPCOptionsList } from './RPCOptions.js';
|
|
8
8
|
export { OnMicroserviceReady } from './decorators/OnMicroserviceReady.js';
|
|
9
9
|
export { Microservice } from './decorators/Microservice.js';
|
|
10
|
-
export { ListenEvent, EventDataType, EventHub, createSpiderMeshEvent, E } from './decorators/ListenEvent.js';
|
|
10
|
+
export { ListenEvent, EventDataType, EventHub, createSpiderMeshEvent, E, ListenEventBatch } from './decorators/ListenEvent.js';
|
|
11
11
|
export * from './interfaces/SpiderMeshTransporter.js';
|
|
12
|
+
export { LimitConcurrentRunning } from './decorators/LimitConcurrentRunning.js';
|
package/build/src/index.js
CHANGED
|
@@ -4,6 +4,7 @@ export { SpiderMesh } from './SpiderMesh.js';
|
|
|
4
4
|
export { RPCOptionsList } from './RPCOptions.js';
|
|
5
5
|
export { OnMicroserviceReady } from './decorators/OnMicroserviceReady.js';
|
|
6
6
|
export { Microservice } from './decorators/Microservice.js';
|
|
7
|
-
export { ListenEvent, createSpiderMeshEvent } from './decorators/ListenEvent.js';
|
|
7
|
+
export { ListenEvent, createSpiderMeshEvent, ListenEventBatch } from './decorators/ListenEvent.js';
|
|
8
8
|
export * from './interfaces/SpiderMeshTransporter.js';
|
|
9
|
+
export { LimitConcurrentRunning } from './decorators/LimitConcurrentRunning.js';
|
|
9
10
|
//# sourceMappingURL=index.js.map
|
package/build/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,6CAA6C,CAAA;AAChF,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAI5C,OAAO,EAAc,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAA;AACzE,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAA;AAC3D,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,6CAA6C,CAAA;AAChF,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAI5C,OAAO,EAAc,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAA;AACzE,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAA;AAC3D,OAAO,EACH,WAAW,EAGX,qBAAqB,EAErB,gBAAgB,EACnB,MAAM,6BAA6B,CAAA;AACpC,cAAc,uCAAuC,CAAA;AACrD,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@spider-mesh/core",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "1.0.
|
|
4
|
+
"version": "1.0.38",
|
|
5
5
|
"description": "Lightweight microservice framework for typescript, auto discovery, load-balancing, fault-torrent, multiple transporters",
|
|
6
6
|
"main": "./build/src/index.js",
|
|
7
7
|
"types": "./build/src/index.d.ts",
|