nmtjs 0.15.3 → 0.16.0-beta.10
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/cli.js.map +1 -1
- package/dist/codegen.js.map +1 -1
- package/dist/config.js.map +1 -1
- package/dist/entrypoints/main.js.map +1 -1
- package/dist/entrypoints/thread.js.map +1 -1
- package/dist/entrypoints/worker.js.map +1 -1
- package/dist/index.d.ts +32 -21
- package/dist/index.js +8 -6
- package/dist/index.js.map +1 -1
- package/dist/runtime/application/index.d.ts +1 -5
- package/dist/runtime/application/index.js +1 -5
- package/dist/runtime/application/index.js.map +1 -1
- package/dist/runtime/enums.d.ts +1 -12
- package/dist/runtime/enums.js +3 -20
- package/dist/runtime/enums.js.map +1 -1
- package/dist/runtime/hooks.d.ts +1 -4
- package/dist/runtime/hooks.js +1 -3
- package/dist/runtime/hooks.js.map +1 -1
- package/dist/runtime/index.d.ts +3 -5
- package/dist/runtime/index.js +3 -5
- package/dist/runtime/index.js.map +1 -1
- package/dist/runtime/injectables.d.ts +10 -10
- package/dist/runtime/injectables.js +6 -6
- package/dist/runtime/injectables.js.map +1 -1
- package/dist/runtime/jobs/job.d.ts +4 -4
- package/dist/runtime/jobs/job.js.map +1 -1
- package/dist/runtime/jobs/manager.js.map +1 -1
- package/dist/runtime/jobs/router.d.ts +31 -13
- package/dist/runtime/jobs/router.js +14 -11
- package/dist/runtime/jobs/router.js.map +1 -1
- package/dist/runtime/jobs/runner.d.ts +1 -1
- package/dist/runtime/jobs/runner.js +1 -1
- package/dist/runtime/jobs/runner.js.map +1 -1
- package/dist/runtime/jobs/step.js.map +1 -1
- package/dist/runtime/metrics/server.js +21 -9
- package/dist/runtime/metrics/server.js.map +1 -1
- package/dist/runtime/plugin.d.ts +2 -8
- package/dist/runtime/plugin.js +1 -3
- package/dist/runtime/plugin.js.map +1 -1
- package/dist/runtime/runtime.d.ts +2 -2
- package/dist/runtime/runtime.js +1 -2
- package/dist/runtime/runtime.js.map +1 -1
- package/dist/runtime/scheduler/index.js.map +1 -1
- package/dist/runtime/server/applications.js.map +1 -1
- package/dist/runtime/server/config.d.ts +8 -19
- package/dist/runtime/server/config.js +2 -3
- package/dist/runtime/server/config.js.map +1 -1
- package/dist/runtime/server/environment.js.map +1 -1
- package/dist/runtime/server/error-policy.js.map +1 -1
- package/dist/runtime/server/hmr-coordinator.js.map +1 -1
- package/dist/runtime/server/jobs.d.ts +7 -11
- package/dist/runtime/server/jobs.js +45 -71
- package/dist/runtime/server/jobs.js.map +1 -1
- package/dist/runtime/server/lifecycle.js.map +1 -1
- package/dist/runtime/server/managed-worker.js.map +1 -1
- package/dist/runtime/server/pool-manager.js.map +1 -1
- package/dist/runtime/server/proxy.js.map +1 -1
- package/dist/runtime/server/server.js.map +1 -1
- package/dist/runtime/server/worker-pool.js.map +1 -1
- package/dist/runtime/store/index.js.map +1 -1
- package/dist/runtime/{pubsub → subscription}/manager.d.ts +15 -14
- package/dist/runtime/{pubsub → subscription}/manager.js +59 -8
- package/dist/runtime/subscription/manager.js.map +1 -0
- package/dist/runtime/subscription/redis.d.ts +18 -0
- package/dist/runtime/{pubsub → subscription}/redis.js +37 -14
- package/dist/runtime/subscription/redis.js.map +1 -0
- package/dist/runtime/types.d.ts +2 -10
- package/dist/runtime/workers/application.d.ts +4 -7
- package/dist/runtime/workers/application.js +9 -4
- package/dist/runtime/workers/application.js.map +1 -1
- package/dist/runtime/workers/base.d.ts +2 -2
- package/dist/runtime/workers/base.js +5 -5
- package/dist/runtime/workers/base.js.map +1 -1
- package/dist/runtime/workers/job.js +2 -1
- package/dist/runtime/workers/job.js.map +1 -1
- package/dist/vite/builder.js.map +1 -1
- package/dist/vite/config.js.map +1 -1
- package/dist/vite/plugins.js.map +1 -1
- package/dist/vite/runners/worker.js.map +1 -1
- package/dist/vite/server.js.map +1 -1
- package/dist/vite/servers/main.js.map +1 -1
- package/dist/vite/servers/worker.js.map +1 -1
- package/package.json +19 -23
- package/src/index.ts +14 -8
- package/src/runtime/application/index.ts +1 -5
- package/src/runtime/enums.ts +2 -14
- package/src/runtime/hooks.ts +1 -5
- package/src/runtime/index.ts +4 -5
- package/src/runtime/injectables.ts +18 -20
- package/src/runtime/jobs/job.ts +1 -2
- package/src/runtime/jobs/router.ts +52 -24
- package/src/runtime/jobs/runner.ts +2 -2
- package/src/runtime/metrics/server.ts +21 -18
- package/src/runtime/plugin.ts +2 -13
- package/src/runtime/runtime.ts +2 -4
- package/src/runtime/server/config.ts +12 -18
- package/src/runtime/server/jobs.ts +59 -88
- package/src/runtime/{pubsub → subscription}/manager.ts +118 -26
- package/src/runtime/subscription/redis.ts +157 -0
- package/src/runtime/types.ts +2 -11
- package/src/runtime/workers/application.ts +29 -17
- package/src/runtime/workers/base.ts +7 -7
- package/src/runtime/workers/job.ts +3 -6
- package/dist/runtime/application/api/api.d.ts +0 -50
- package/dist/runtime/application/api/api.js +0 -196
- package/dist/runtime/application/api/api.js.map +0 -1
- package/dist/runtime/application/api/constants.d.ts +0 -14
- package/dist/runtime/application/api/constants.js +0 -8
- package/dist/runtime/application/api/constants.js.map +0 -1
- package/dist/runtime/application/api/filters.d.ts +0 -14
- package/dist/runtime/application/api/filters.js +0 -11
- package/dist/runtime/application/api/filters.js.map +0 -1
- package/dist/runtime/application/api/guards.d.ts +0 -16
- package/dist/runtime/application/api/guards.js +0 -11
- package/dist/runtime/application/api/guards.js.map +0 -1
- package/dist/runtime/application/api/index.d.ts +0 -9
- package/dist/runtime/application/api/index.js +0 -10
- package/dist/runtime/application/api/index.js.map +0 -1
- package/dist/runtime/application/api/logging.d.ts +0 -19
- package/dist/runtime/application/api/logging.js +0 -77
- package/dist/runtime/application/api/logging.js.map +0 -1
- package/dist/runtime/application/api/middlewares.d.ts +0 -14
- package/dist/runtime/application/api/middlewares.js +0 -12
- package/dist/runtime/application/api/middlewares.js.map +0 -1
- package/dist/runtime/application/api/procedure.d.ts +0 -67
- package/dist/runtime/application/api/procedure.js +0 -50
- package/dist/runtime/application/api/procedure.js.map +0 -1
- package/dist/runtime/application/api/router.d.ts +0 -80
- package/dist/runtime/application/api/router.js +0 -50
- package/dist/runtime/application/api/router.js.map +0 -1
- package/dist/runtime/application/api/types.d.ts +0 -38
- package/dist/runtime/application/api/types.js +0 -2
- package/dist/runtime/application/api/types.js.map +0 -1
- package/dist/runtime/application/config.d.ts +0 -26
- package/dist/runtime/application/config.js +0 -21
- package/dist/runtime/application/config.js.map +0 -1
- package/dist/runtime/application/constants.d.ts +0 -2
- package/dist/runtime/application/constants.js +0 -2
- package/dist/runtime/application/constants.js.map +0 -1
- package/dist/runtime/application/hook.d.ts +0 -19
- package/dist/runtime/application/hook.js +0 -11
- package/dist/runtime/application/hook.js.map +0 -1
- package/dist/runtime/application/hooks.d.ts +0 -3
- package/dist/runtime/application/hooks.js +0 -4
- package/dist/runtime/application/hooks.js.map +0 -1
- package/dist/runtime/jobs/ui.d.ts +0 -3
- package/dist/runtime/jobs/ui.js +0 -20
- package/dist/runtime/jobs/ui.js.map +0 -1
- package/dist/runtime/pubsub/manager.js.map +0 -1
- package/dist/runtime/pubsub/redis.d.ts +0 -16
- package/dist/runtime/pubsub/redis.js.map +0 -1
- package/src/runtime/application/api/api.ts +0 -274
- package/src/runtime/application/api/constants.ts +0 -22
- package/src/runtime/application/api/filters.ts +0 -39
- package/src/runtime/application/api/guards.ts +0 -42
- package/src/runtime/application/api/index.ts +0 -9
- package/src/runtime/application/api/logging.ts +0 -110
- package/src/runtime/application/api/middlewares.ts +0 -37
- package/src/runtime/application/api/procedure.ts +0 -231
- package/src/runtime/application/api/router.ts +0 -220
- package/src/runtime/application/api/types.ts +0 -138
- package/src/runtime/application/config.ts +0 -69
- package/src/runtime/application/constants.ts +0 -4
- package/src/runtime/application/hook.ts +0 -51
- package/src/runtime/application/hooks.ts +0 -3
- package/src/runtime/jobs/ui.ts +0 -27
- package/src/runtime/pubsub/redis.ts +0 -106
|
@@ -2,22 +2,22 @@ import { Readable } from 'node:stream';
|
|
|
2
2
|
import type { TAnyEventContract, TAnySubscriptionContract } from '@nmtjs/contract';
|
|
3
3
|
import type { Container, Logger } from '@nmtjs/core';
|
|
4
4
|
import type { t } from '@nmtjs/type';
|
|
5
|
-
export type
|
|
5
|
+
export type SubscriptionAdapterEvent = {
|
|
6
6
|
channel: string;
|
|
7
7
|
payload: any;
|
|
8
8
|
};
|
|
9
|
-
export interface
|
|
9
|
+
export interface SubscriptionAdapterType {
|
|
10
10
|
publish(channel: string, payload: any): Promise<boolean>;
|
|
11
|
-
subscribe(channel: string, signal?: AbortSignal): AsyncGenerator<
|
|
11
|
+
subscribe(channel: string, signal?: AbortSignal): AsyncGenerator<SubscriptionAdapterEvent>;
|
|
12
12
|
initialize(): Promise<void>;
|
|
13
13
|
dispose(): Promise<void>;
|
|
14
14
|
}
|
|
15
|
-
export type
|
|
15
|
+
export type SubscriptionChannel = {
|
|
16
16
|
stream: Readable;
|
|
17
17
|
subscription: TAnySubscriptionContract;
|
|
18
18
|
event: TAnyEventContract;
|
|
19
19
|
};
|
|
20
|
-
export type
|
|
20
|
+
export type SubscribeFn = <Contract extends TAnySubscriptionContract, Events extends {
|
|
21
21
|
[K in keyof Contract['events']]?: true;
|
|
22
22
|
}>(subscription: Contract, events: Events, options: Contract['options'], signal?: AbortSignal) => Promise<Omit<Readable, typeof Symbol.asyncIterator> & {
|
|
23
23
|
[Symbol.asyncIterator]: () => AsyncIterator<{} extends Events ? {
|
|
@@ -32,17 +32,18 @@ export type PubSubSubscribe = <Contract extends TAnySubscriptionContract, Events
|
|
|
32
32
|
} : never;
|
|
33
33
|
}[keyof Events]>;
|
|
34
34
|
}>;
|
|
35
|
-
export type
|
|
36
|
-
export type
|
|
35
|
+
export type PublishFn = <S extends TAnySubscriptionContract, E extends S['events'][keyof S['events']]>(event: E, options: S['options'], data: t.infer.decode.input<E['payload']>) => Promise<boolean>;
|
|
36
|
+
export type SubscriptionManagerOptions = {
|
|
37
37
|
logger: Logger;
|
|
38
38
|
container: Container;
|
|
39
39
|
};
|
|
40
|
-
export declare class
|
|
41
|
-
protected readonly options:
|
|
42
|
-
readonly subscriptions: Map<string,
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
40
|
+
export declare class SubscriptionManager {
|
|
41
|
+
protected readonly options: SubscriptionManagerOptions;
|
|
42
|
+
readonly subscriptions: Map<string, SubscriptionChannel>;
|
|
43
|
+
protected readonly logger: Logger;
|
|
44
|
+
constructor(options: SubscriptionManagerOptions);
|
|
45
|
+
protected get adapter(): Promise<SubscriptionAdapterType>;
|
|
46
|
+
subscribe: SubscribeFn;
|
|
47
|
+
publish: PublishFn;
|
|
47
48
|
private createEventStream;
|
|
48
49
|
}
|
|
@@ -2,57 +2,101 @@ import assert from 'node:assert';
|
|
|
2
2
|
import { createHash } from 'node:crypto';
|
|
3
3
|
import { PassThrough, Readable } from 'node:stream';
|
|
4
4
|
import { isAbortError } from '@nmtjs/common';
|
|
5
|
-
import {
|
|
6
|
-
export class
|
|
5
|
+
import { subscriptionAdapter } from '../injectables.js';
|
|
6
|
+
export class SubscriptionManager {
|
|
7
7
|
options;
|
|
8
8
|
subscriptions = new Map();
|
|
9
|
+
logger;
|
|
9
10
|
constructor(options) {
|
|
10
11
|
this.options = options;
|
|
12
|
+
this.logger = options.logger.child({ component: SubscriptionManager.name });
|
|
11
13
|
}
|
|
12
14
|
get adapter() {
|
|
13
|
-
return this.options.container.resolve(
|
|
15
|
+
return this.options.container.resolve(subscriptionAdapter);
|
|
14
16
|
}
|
|
15
17
|
subscribe = async (subscription, events, options, signal) => {
|
|
16
18
|
const adapter = await this.adapter;
|
|
17
19
|
const eventKeys = Object.keys(events).length === 0
|
|
18
20
|
? Object.keys(subscription.events)
|
|
19
21
|
: Object.keys(events);
|
|
22
|
+
this.logger.debug({ subscription: subscription.name, eventCount: eventKeys.length }, 'Opening subscription');
|
|
20
23
|
const streams = Array(eventKeys.length);
|
|
21
24
|
for (const index in eventKeys) {
|
|
22
25
|
const event = subscription.events[eventKeys[index]];
|
|
23
26
|
const channel = getChannelName(event, options);
|
|
24
27
|
if (this.subscriptions.has(channel)) {
|
|
25
28
|
streams[index] = this.subscriptions.get(channel).stream;
|
|
29
|
+
this.logger.trace({
|
|
30
|
+
channel,
|
|
31
|
+
event: event.name,
|
|
32
|
+
activeChannels: this.subscriptions.size,
|
|
33
|
+
}, 'Reusing pubsub channel stream');
|
|
26
34
|
}
|
|
27
35
|
else {
|
|
28
36
|
const iterable = adapter.subscribe(channel, signal);
|
|
29
37
|
const stream = this.createEventStream(iterable);
|
|
30
|
-
stream.on('close', () =>
|
|
38
|
+
stream.on('close', () => {
|
|
39
|
+
this.subscriptions.delete(channel);
|
|
40
|
+
this.logger.debug({
|
|
41
|
+
channel,
|
|
42
|
+
event: event.name,
|
|
43
|
+
activeChannels: this.subscriptions.size,
|
|
44
|
+
}, 'Pubsub channel stream closed');
|
|
45
|
+
});
|
|
46
|
+
stream.on('error', (error) => {
|
|
47
|
+
this.logger.warn({ channel, event: event.name, error }, 'Pubsub channel stream failed');
|
|
48
|
+
});
|
|
31
49
|
streams[index] = stream;
|
|
32
50
|
this.subscriptions.set(channel, { subscription, event, stream });
|
|
51
|
+
this.logger.debug({
|
|
52
|
+
channel,
|
|
53
|
+
event: event.name,
|
|
54
|
+
activeChannels: this.subscriptions.size,
|
|
55
|
+
}, 'Creating channel stream');
|
|
33
56
|
}
|
|
34
57
|
}
|
|
35
|
-
|
|
58
|
+
const mergedStream = mergeEventStreams(streams, signal);
|
|
59
|
+
mergedStream.once('close', () => {
|
|
60
|
+
this.logger.debug({ subscription: subscription.name, eventCount: eventKeys.length }, 'Pubsub subscription stream closed');
|
|
61
|
+
});
|
|
62
|
+
mergedStream.once('error', (error) => {
|
|
63
|
+
this.logger.warn({
|
|
64
|
+
subscription: subscription.name,
|
|
65
|
+
eventCount: eventKeys.length,
|
|
66
|
+
error,
|
|
67
|
+
}, 'Pubsub subscription stream failed');
|
|
68
|
+
});
|
|
69
|
+
return mergedStream;
|
|
36
70
|
};
|
|
37
71
|
publish = async (event, options, data) => {
|
|
38
72
|
const adapter = await this.adapter;
|
|
39
73
|
const channel = getChannelName(event, options);
|
|
74
|
+
this.logger.trace({ channel, event: event.name }, 'Publishing pubsub event');
|
|
40
75
|
try {
|
|
41
76
|
const payload = event.payload.encode(data);
|
|
42
|
-
|
|
77
|
+
const published = await adapter.publish(channel, payload);
|
|
78
|
+
if (published) {
|
|
79
|
+
this.logger.trace({ channel, event: event.name }, 'Published pubsub event');
|
|
80
|
+
}
|
|
81
|
+
else {
|
|
82
|
+
this.logger.warn({ channel, event: event.name }, 'Pubsub adapter reported publish failure');
|
|
83
|
+
}
|
|
84
|
+
return published;
|
|
43
85
|
}
|
|
44
86
|
catch (error) {
|
|
45
|
-
this.
|
|
46
|
-
|
|
87
|
+
this.logger.error({ channel, event: event.name, error }, 'Failed to publish pubsub event');
|
|
88
|
+
throw error;
|
|
47
89
|
}
|
|
48
90
|
};
|
|
49
91
|
createEventStream(iterable) {
|
|
50
92
|
const { subscriptions } = this;
|
|
93
|
+
const logger = this.logger;
|
|
51
94
|
return new Readable({
|
|
52
95
|
objectMode: true,
|
|
53
96
|
read() {
|
|
54
97
|
iterable.next().then(({ value, done }) => {
|
|
55
98
|
if (done) {
|
|
99
|
+
logger.trace('Pubsub adapter stream ended');
|
|
56
100
|
this.push(null);
|
|
57
101
|
}
|
|
58
102
|
else {
|
|
@@ -61,18 +105,25 @@ export class PubSubManager {
|
|
|
61
105
|
const { event } = subscription;
|
|
62
106
|
try {
|
|
63
107
|
const data = event.payload.decode(value.payload);
|
|
108
|
+
logger.trace({ channel: value.channel, event: event.name }, 'Received event');
|
|
64
109
|
this.push({ event: event.name, data });
|
|
65
110
|
}
|
|
66
111
|
catch (error) {
|
|
112
|
+
logger.warn({ channel: value.channel, event: event.name, error }, 'Failed to decode pubsub event payload');
|
|
67
113
|
this.destroy(error);
|
|
68
114
|
}
|
|
69
115
|
}
|
|
116
|
+
else {
|
|
117
|
+
logger.trace({ channel: value.channel }, 'Dropped pubsub event for inactive channel');
|
|
118
|
+
}
|
|
70
119
|
}
|
|
71
120
|
}, (error) => {
|
|
72
121
|
if (isAbortError(error)) {
|
|
122
|
+
logger.trace('Pubsub adapter stream aborted');
|
|
73
123
|
this.push(null);
|
|
74
124
|
}
|
|
75
125
|
else {
|
|
126
|
+
logger.warn({ error }, 'Pubsub adapter stream failed');
|
|
76
127
|
this.destroy(error);
|
|
77
128
|
}
|
|
78
129
|
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manager.js","sourceRoot":"","sources":["../../../src/runtime/subscription/manager.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAA;AAChC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AASnD,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAE5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AAkEvD,MAAM,OAAO,mBAAmB;IAIC,OAAO;IAH7B,aAAa,GAAG,IAAI,GAAG,EAA+B,CAAA;IAC5C,MAAM,CAAQ;IAEjC,YAA+B,OAAmC;uBAAnC,OAAO;QACpC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,mBAAmB,CAAC,IAAI,EAAE,CAAC,CAAA;IAC7E,CAAC;IAED,IAAc,OAAO;QACnB,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAA;IAC5D,CAAC;IAED,SAAS,GAAgB,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;QACvE,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAA;QAElC,MAAM,SAAS,GACb,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC;YAC9B,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;YAClC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAEzB,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,EAAE,YAAY,EAAE,YAAY,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS,CAAC,MAAM,EAAE,EACjE,sBAAsB,CACvB,CAAA;QAED,MAAM,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;QAEvC,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE,CAAC;YAC9B,MAAM,KAAK,GAAG,YAAY,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAA;YACnD,MAAM,OAAO,GAAG,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;YAC9C,IAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;gBACpC,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAE,CAAC,MAAM,CAAA;gBACxD,IAAI,CAAC,MAAM,CAAC,KAAK,CACf;oBACE,OAAO;oBACP,KAAK,EAAE,KAAK,CAAC,IAAI;oBACjB,cAAc,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI;iBACxC,EACD,+BAA+B,CAChC,CAAA;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;gBACnD,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAA;gBAC/C,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;oBACtB,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;oBAClC,IAAI,CAAC,MAAM,CAAC,KAAK,CACf;wBACE,OAAO;wBACP,KAAK,EAAE,KAAK,CAAC,IAAI;wBACjB,cAAc,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI;qBACxC,EACD,8BAA8B,CAC/B,CAAA;gBACH,CAAC,CAAC,CAAA;gBACF,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;oBAC3B,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,EACrC,8BAA8B,CAC/B,CAAA;gBACH,CAAC,CAAC,CAAA;gBACF,OAAO,CAAC,KAAK,CAAC,GAAG,MAAM,CAAA;gBACvB,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAA;gBAChE,IAAI,CAAC,MAAM,CAAC,KAAK,CACf;oBACE,OAAO;oBACP,KAAK,EAAE,KAAK,CAAC,IAAI;oBACjB,cAAc,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI;iBACxC,EACD,yBAAyB,CAC1B,CAAA;YACH,CAAC;QACH,CAAC;QAED,MAAM,YAAY,GAAG,iBAAiB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;QAEvD,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE;YAC9B,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,EAAE,YAAY,EAAE,YAAY,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS,CAAC,MAAM,EAAE,EACjE,mCAAmC,CACpC,CAAA;QACH,CAAC,CAAC,CAAA;QACF,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YACnC,IAAI,CAAC,MAAM,CAAC,IAAI,CACd;gBACE,YAAY,EAAE,YAAY,CAAC,IAAI;gBAC/B,UAAU,EAAE,SAAS,CAAC,MAAM;gBAC5B,KAAK;aACN,EACD,mCAAmC,CACpC,CAAA;QACH,CAAC,CAAC,CAAA;QAEF,OAAO,YAAY,CAAA;IACrB,CAAC,CAAA;IAED,OAAO,GAAc,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;QAClD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAA;QAElC,MAAM,OAAO,GAAG,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;QAE9C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,EAAE,yBAAyB,CAAC,CAAA;QAE5E,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;YAC1C,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;YAEzD,IAAI,SAAS,EAAE,CAAC;gBACd,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,EAC9B,wBAAwB,CACzB,CAAA;YACH,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,EAC9B,yCAAyC,CAC1C,CAAA;YACH,CAAC;YAED,OAAO,SAAS,CAAA;QAClB,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,EACrC,gCAAgC,CACjC,CAAA;YACD,MAAM,KAAK,CAAA;QACb,CAAC;IACH,CAAC,CAAA;IAEO,iBAAiB,CACvB,QAAkD;QAElD,MAAM,EAAE,aAAa,EAAE,GAAG,IAAI,CAAA;QAC9B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;QAE1B,OAAO,IAAI,QAAQ,CAAC;YAClB,UAAU,EAAE,IAAI;YAChB,IAAI;gBACF,QAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,CAClB,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE;oBAClB,IAAI,IAAI,EAAE,CAAC;wBACT,MAAM,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAA;wBAC3C,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;oBACjB,CAAC;yBAAM,CAAC;wBACN,MAAM,YAAY,GAAG,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;wBACrD,IAAI,YAAY,EAAE,CAAC;4BACjB,MAAM,EAAE,KAAK,EAAE,GAAG,YAAY,CAAA;4BAC9B,IAAI,CAAC;gCACH,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;gCAChD,MAAM,CAAC,KAAK,CACV,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,EAC7C,gBAAgB,CACjB,CAAA;gCACD,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;4BACxC,CAAC;4BAAC,OAAO,KAAU,EAAE,CAAC;gCACpB,MAAM,CAAC,IAAI,CACT,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,EACpD,uCAAuC,CACxC,CAAA;gCACD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;4BACrB,CAAC;wBACH,CAAC;6BAAM,CAAC;4BACN,MAAM,CAAC,KAAK,CACV,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,EAC1B,2CAA2C,CAC5C,CAAA;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;oBACR,IAAI,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;wBACxB,MAAM,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAA;wBAC7C,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;oBACjB,CAAC;yBAAM,CAAC;wBACN,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,8BAA8B,CAAC,CAAA;wBACtD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;oBACrB,CAAC;gBACH,CAAC,CACF,CAAA;YACH,CAAC;SACF,CAAC,CAAA;IACJ,CAAC;CACF;AAED,SAAS,MAAM,CAAC,GAAG,IAAS;IAC1B,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AACvC,CAAC;AAED,SAAS,cAAc,CACrB,QAAW,EACX,OAAqB;IAErB,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IACrD,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,iCAAiC,CAAC,CAAA;IACxD,OAAO,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;AACnC,CAAC;AAED,SAAS,iBAAiB,CAAC,OAA0C;IACnE,MAAM,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC,CAAA;IAC/B,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC;SACvC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SACxC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,KAAK,EAAE,CAAC;SACxC,IAAI,CAAC,GAAG,CAAC,CAAA;IACZ,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;IACvB,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;AACjC,CAAC;AAED,SAAS,iBAAiB,CACxB,OAAmB,EACnB,MAAoB;IAEpB,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC;QAClC,MAAM;QACN,UAAU,EAAE,IAAI;QAChB,kBAAkB,EAAE,IAAI;QACxB,kBAAkB,EAAE,IAAI;KACzB,CAAC,CAAA;IAEF,IAAI,KAAK,GAAG,CAAC,CAAA;IAEb,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAA;QACxC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE;YACtB,KAAK,EAAE,CAAA;YACP,IAAI,KAAK,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC;gBAC7B,WAAW,CAAC,GAAG,EAAE,CAAA;YACnB,CAAC;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,OAAO,WAAW,CAAA;AACpB,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import EventEmitter from 'node:events';
|
|
2
|
+
import type { RuntimePlugin } from '@nmtjs/application';
|
|
3
|
+
import type { Logger } from '@nmtjs/core';
|
|
4
|
+
import type { Store } from '../types.ts';
|
|
5
|
+
import type { SubscriptionAdapterEvent, SubscriptionAdapterType } from './manager.ts';
|
|
6
|
+
export declare class RedisSubscriptionAdapter implements SubscriptionAdapterType {
|
|
7
|
+
protected readonly client: Store;
|
|
8
|
+
protected readonly events: EventEmitter<[never]>;
|
|
9
|
+
protected readonly listeners: Map<string, number>;
|
|
10
|
+
protected readonly logger?: Logger;
|
|
11
|
+
protected subscriberClient?: Store;
|
|
12
|
+
constructor(client: Store, logger?: Logger);
|
|
13
|
+
initialize(): Promise<void>;
|
|
14
|
+
dispose(): Promise<void>;
|
|
15
|
+
publish(channel: string, payload: any): Promise<boolean>;
|
|
16
|
+
subscribe(channel: string, signal?: AbortSignal): AsyncGenerator<SubscriptionAdapterEvent>;
|
|
17
|
+
}
|
|
18
|
+
export declare const RedisSubscriptionAdapterPlugin: () => RuntimePlugin;
|
|
@@ -1,95 +1,118 @@
|
|
|
1
1
|
import EventEmitter, { on } from 'node:events';
|
|
2
2
|
import { isAbortError } from '@nmtjs/common';
|
|
3
|
-
import { createFactoryInjectable
|
|
4
|
-
import {
|
|
3
|
+
import { createFactoryInjectable } from '@nmtjs/core';
|
|
4
|
+
import { storeConfig, subscriptionAdapter } from '../injectables.js';
|
|
5
5
|
import { createStoreClient } from '../store/index.js';
|
|
6
|
-
export class
|
|
6
|
+
export class RedisSubscriptionAdapter {
|
|
7
7
|
client;
|
|
8
8
|
events = new EventEmitter();
|
|
9
9
|
listeners = new Map();
|
|
10
|
+
logger;
|
|
10
11
|
subscriberClient;
|
|
11
|
-
constructor(client) {
|
|
12
|
+
constructor(client, logger) {
|
|
12
13
|
this.client = client;
|
|
14
|
+
this.logger = logger?.child({ component: RedisSubscriptionAdapter.name });
|
|
13
15
|
}
|
|
14
16
|
async initialize() {
|
|
17
|
+
this.logger?.debug('Initializing Redis adapter');
|
|
15
18
|
// Create a dedicated subscriber client (Redis requires separate clients for pub/sub)
|
|
16
19
|
this.subscriberClient = this.client.duplicate();
|
|
17
20
|
// Set up message handler
|
|
18
21
|
this.subscriberClient.on('message', (channel, message) => {
|
|
19
22
|
try {
|
|
20
23
|
const parsed = JSON.parse(message);
|
|
24
|
+
this.logger?.trace({ channel }, 'Received Redis message');
|
|
21
25
|
this.events.emit(channel, parsed);
|
|
22
26
|
}
|
|
23
|
-
catch {
|
|
27
|
+
catch (error) {
|
|
28
|
+
this.logger?.warn({ channel, error }, 'Failed to parse Redis message');
|
|
29
|
+
}
|
|
24
30
|
});
|
|
31
|
+
this.logger?.debug('Redis adapter initialized');
|
|
25
32
|
}
|
|
26
33
|
async dispose() {
|
|
34
|
+
this.logger?.debug('Disposing Redis adapter');
|
|
27
35
|
if (this.subscriberClient) {
|
|
28
36
|
await this.subscriberClient.quit();
|
|
29
37
|
this.subscriberClient = undefined;
|
|
30
38
|
}
|
|
39
|
+
this.logger?.debug('Redis adapter disposed');
|
|
31
40
|
}
|
|
32
41
|
async publish(channel, payload) {
|
|
42
|
+
this.logger?.trace({ channel }, 'Publishing Redis message');
|
|
33
43
|
try {
|
|
34
44
|
await this.client.publish(channel, JSON.stringify(payload));
|
|
45
|
+
this.logger?.trace({ channel }, 'Published Redis message');
|
|
35
46
|
return true;
|
|
36
47
|
}
|
|
37
|
-
catch {
|
|
48
|
+
catch (error) {
|
|
49
|
+
this.logger?.warn({ channel, error }, 'Failed to publish Redis message');
|
|
38
50
|
return false;
|
|
39
51
|
}
|
|
40
52
|
}
|
|
41
53
|
async *subscribe(channel, signal) {
|
|
42
54
|
if (!this.subscriberClient) {
|
|
43
|
-
throw new Error('
|
|
55
|
+
throw new Error('RedisSubscriptionAdapter not initialized');
|
|
44
56
|
}
|
|
57
|
+
this.logger?.debug({ channel }, 'Opening Redis channel listener');
|
|
45
58
|
if (!this.listeners.has(channel)) {
|
|
46
59
|
await this.subscriberClient.subscribe(channel);
|
|
47
60
|
this.listeners.set(channel, 1);
|
|
61
|
+
this.logger?.debug({ channel, listeners: 1 }, 'Subscribed Redis channel');
|
|
48
62
|
}
|
|
49
63
|
else {
|
|
50
|
-
|
|
64
|
+
const listeners = this.listeners.get(channel) + 1;
|
|
65
|
+
this.listeners.set(channel, listeners);
|
|
66
|
+
this.logger?.trace({ channel, listeners }, 'Reusing Redis channel listener');
|
|
51
67
|
}
|
|
52
68
|
try {
|
|
53
69
|
signal?.throwIfAborted();
|
|
54
70
|
for await (const [payload] of on(this.events, channel, { signal })) {
|
|
71
|
+
this.logger?.trace({ channel }, 'Delivering Redis message');
|
|
55
72
|
yield { channel, payload };
|
|
56
73
|
}
|
|
57
74
|
}
|
|
58
75
|
catch (error) {
|
|
59
|
-
if (isAbortError(error))
|
|
76
|
+
if (isAbortError(error)) {
|
|
77
|
+
this.logger?.trace({ channel }, 'Redis channel listener aborted');
|
|
60
78
|
throw error;
|
|
79
|
+
}
|
|
80
|
+
this.logger?.warn({ channel, error }, 'Redis channel listener failed');
|
|
61
81
|
}
|
|
62
82
|
finally {
|
|
63
83
|
const count = this.listeners.get(channel);
|
|
64
84
|
if (count !== undefined) {
|
|
65
85
|
if (count > 1) {
|
|
66
|
-
|
|
86
|
+
const listeners = count - 1;
|
|
87
|
+
this.listeners.set(channel, listeners);
|
|
88
|
+
this.logger?.trace({ channel, listeners }, 'Detached Redis channel listener');
|
|
67
89
|
}
|
|
68
90
|
else {
|
|
69
91
|
await this.subscriberClient?.unsubscribe(channel);
|
|
70
92
|
this.listeners.delete(channel);
|
|
93
|
+
this.logger?.debug({ channel, listeners: 0 }, 'Unsubscribed Redis channel');
|
|
71
94
|
}
|
|
72
95
|
}
|
|
73
96
|
}
|
|
74
97
|
}
|
|
75
98
|
}
|
|
76
|
-
export const
|
|
99
|
+
export const RedisSubscriptionAdapterPlugin = () => {
|
|
77
100
|
return {
|
|
78
|
-
name: '
|
|
101
|
+
name: 'redis-subscription-adapter',
|
|
79
102
|
hooks: {
|
|
80
103
|
'lifecycle:beforeInitialize': async (ctx) => {
|
|
81
104
|
const adapter = await ctx.container.resolve(createFactoryInjectable({
|
|
82
105
|
dependencies: { config: storeConfig },
|
|
83
106
|
factory: async ({ config }) => {
|
|
84
107
|
const connection = await createStoreClient(config);
|
|
85
|
-
const adapter = new
|
|
108
|
+
const adapter = new RedisSubscriptionAdapter(connection, ctx.logger);
|
|
86
109
|
await adapter.initialize();
|
|
87
110
|
return { adapter, connection };
|
|
88
111
|
},
|
|
89
112
|
pick: ({ adapter }) => adapter,
|
|
90
113
|
dispose: ({ connection }) => connection.quit(),
|
|
91
114
|
}));
|
|
92
|
-
ctx.container.provide(
|
|
115
|
+
ctx.container.provide(subscriptionAdapter, adapter);
|
|
93
116
|
},
|
|
94
117
|
},
|
|
95
118
|
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"redis.js","sourceRoot":"","sources":["../../../src/runtime/subscription/redis.ts"],"names":[],"mappings":"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"}
|
package/dist/runtime/types.d.ts
CHANGED
|
@@ -1,10 +1,8 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { ApplicationConfig } from '@nmtjs/application';
|
|
2
2
|
import type { ProxyableTransportType } from '@nmtjs/gateway';
|
|
3
3
|
import type { Redis, RedisOptions } from 'ioredis';
|
|
4
4
|
import type { Redis as Valkey, RedisOptions as ValkeyOptions } from 'iovalkey';
|
|
5
|
-
import type {
|
|
6
|
-
import type { LifecycleHook, StoreType } from './enums.ts';
|
|
7
|
-
import type { BaseRuntime } from './runtime.ts';
|
|
5
|
+
import type { StoreType } from './enums.ts';
|
|
8
6
|
export type WorkerThreadErrorOrigin = 'bootstrap' | 'start' | 'runtime';
|
|
9
7
|
export type ThreadErrorMessage = {
|
|
10
8
|
message: string;
|
|
@@ -76,12 +74,6 @@ export type JobTaskResultTypes = {
|
|
|
76
74
|
job_not_found: {};
|
|
77
75
|
queue_job_not_found: {};
|
|
78
76
|
};
|
|
79
|
-
export interface LifecycleHookTypes extends HookTypes {
|
|
80
|
-
[LifecycleHook.BeforeInitialize]: (runtime: BaseRuntime) => any;
|
|
81
|
-
[LifecycleHook.AfterInitialize]: (runtime: BaseRuntime) => any;
|
|
82
|
-
[LifecycleHook.BeforeDispose]: (runtime: BaseRuntime) => any;
|
|
83
|
-
[LifecycleHook.AfterDispose]: (runtime: BaseRuntime) => any;
|
|
84
|
-
}
|
|
85
77
|
export type ApplicationDefinitionType = {
|
|
86
78
|
type: 'neemata';
|
|
87
79
|
definition: ApplicationConfig<any, any>;
|
|
@@ -1,12 +1,9 @@
|
|
|
1
|
+
import type { AnyFilter, AnyGuard, AnyMiddleware, AnyProcedure, AnyRouter, ApplicationConfig, ApplicationResolvedProcedure, kDefaultProcedure as kDefaultProcedureKey } from '@nmtjs/application';
|
|
1
2
|
import type { Dependant } from '@nmtjs/core';
|
|
2
3
|
import type { GatewayOptions } from '@nmtjs/gateway';
|
|
4
|
+
import { ApplicationApi, ApplicationHooks, kRootRouter } from '@nmtjs/application';
|
|
3
5
|
import { Gateway } from '@nmtjs/gateway';
|
|
4
|
-
import type { ApplicationConfig } from '../application/config.ts';
|
|
5
|
-
import type { AnyFilter, AnyGuard, AnyMiddleware, AnyProcedure, AnyRouter, kDefaultProcedure as kDefaultProcedureKey } from '../application/index.ts';
|
|
6
6
|
import type { ServerConfig } from '../server/config.ts';
|
|
7
|
-
import { ApplicationApi } from '../application/api/api.ts';
|
|
8
|
-
import { ApplicationHooks } from '../application/hooks.ts';
|
|
9
|
-
import { kRootRouter } from '../application/index.ts';
|
|
10
7
|
import { BaseWorkerRuntime } from './base.ts';
|
|
11
8
|
export interface ApplicationWorkerRuntimeOptions {
|
|
12
9
|
name: string;
|
|
@@ -21,8 +18,8 @@ export declare class ApplicationWorkerRuntime extends BaseWorkerRuntime {
|
|
|
21
18
|
protected appConfig: ApplicationConfig;
|
|
22
19
|
api: ApplicationApi;
|
|
23
20
|
applicationHooks: ApplicationHooks;
|
|
24
|
-
gateway: Gateway
|
|
25
|
-
transports: GatewayOptions['transports'];
|
|
21
|
+
gateway: Gateway<ApplicationResolvedProcedure>;
|
|
22
|
+
transports: GatewayOptions<ApplicationResolvedProcedure>['transports'];
|
|
26
23
|
routers: Map<string | typeof kRootRouter, AnyRouter>;
|
|
27
24
|
procedures: Map<string | typeof kDefaultProcedureKey, {
|
|
28
25
|
procedure: AnyProcedure;
|
|
@@ -1,11 +1,9 @@
|
|
|
1
|
+
import { ApplicationApi, ApplicationHooks, isProcedure, isRootRouter, isRouter, kDefaultProcedure, kRootRouter, LifecycleHook, } from '@nmtjs/application';
|
|
1
2
|
import { Gateway } from '@nmtjs/gateway';
|
|
2
3
|
import { JsonFormat } from '@nmtjs/json-format/server';
|
|
3
4
|
import { MsgpackFormat } from '@nmtjs/msgpack-format/server';
|
|
4
5
|
import { ProtocolFormats } from '@nmtjs/protocol/server';
|
|
5
|
-
import {
|
|
6
|
-
import { ApplicationHooks } from '../application/hooks.js';
|
|
7
|
-
import { isProcedure, isRootRouter, isRouter, kDefaultProcedure, kRootRouter, } from '../application/index.js';
|
|
8
|
-
import { LifecycleHook, WorkerType } from '../enums.js';
|
|
6
|
+
import { WorkerType } from '../enums.js';
|
|
9
7
|
import { BaseWorkerRuntime } from './base.js';
|
|
10
8
|
export class ApplicationWorkerRuntime extends BaseWorkerRuntime {
|
|
11
9
|
config;
|
|
@@ -34,6 +32,7 @@ export class ApplicationWorkerRuntime extends BaseWorkerRuntime {
|
|
|
34
32
|
timeout: this.appConfig.api.timeout,
|
|
35
33
|
container: this.container,
|
|
36
34
|
logger: this.logger,
|
|
35
|
+
meta: this.appConfig.meta,
|
|
37
36
|
filters: this.filters,
|
|
38
37
|
middlewares: this.middlewares,
|
|
39
38
|
guards: this.guards,
|
|
@@ -49,6 +48,7 @@ export class ApplicationWorkerRuntime extends BaseWorkerRuntime {
|
|
|
49
48
|
this.transports[key] = { transport: await factory(options), proxyable };
|
|
50
49
|
}
|
|
51
50
|
this.gateway = new Gateway({
|
|
51
|
+
...this.appConfig.gateway,
|
|
52
52
|
logger: this.logger,
|
|
53
53
|
container: this.container,
|
|
54
54
|
hooks: this.lifecycleHooks,
|
|
@@ -103,9 +103,14 @@ export class ApplicationWorkerRuntime extends BaseWorkerRuntime {
|
|
|
103
103
|
yield* this.appConfig.filters;
|
|
104
104
|
yield* this.appConfig.guards;
|
|
105
105
|
yield* this.appConfig.middlewares;
|
|
106
|
+
yield* this.appConfig.meta;
|
|
106
107
|
yield* this.appConfig.hooks;
|
|
108
|
+
for (const router of this.routers.values()) {
|
|
109
|
+
yield* router.meta;
|
|
110
|
+
}
|
|
107
111
|
for (const { procedure } of this.procedures.values()) {
|
|
108
112
|
yield procedure;
|
|
113
|
+
yield* procedure.meta;
|
|
109
114
|
yield* procedure.guards;
|
|
110
115
|
yield* procedure.middlewares;
|
|
111
116
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"application.js","sourceRoot":"","sources":["../../../src/runtime/workers/application.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"application.js","sourceRoot":"","sources":["../../../src/runtime/workers/application.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,12 +2,12 @@ import type { WorkerType } from '../enums.ts';
|
|
|
2
2
|
import type { BaseRuntimeOptions } from '../runtime.ts';
|
|
3
3
|
import type { ServerConfig } from '../server/config.ts';
|
|
4
4
|
import { JobManager } from '../jobs/manager.ts';
|
|
5
|
-
import { PubSubManager } from '../pubsub/manager.ts';
|
|
6
5
|
import { BaseRuntime } from '../runtime.ts';
|
|
6
|
+
import { SubscriptionManager } from '../subscription/manager.ts';
|
|
7
7
|
export declare abstract class BaseWorkerRuntime extends BaseRuntime {
|
|
8
8
|
readonly config: ServerConfig;
|
|
9
9
|
readonly workerType: WorkerType;
|
|
10
|
-
|
|
10
|
+
subscriptionManager: SubscriptionManager;
|
|
11
11
|
jobManager?: JobManager;
|
|
12
12
|
constructor(config: ServerConfig, options: BaseRuntimeOptions, workerType: WorkerType);
|
|
13
13
|
initialize(): Promise<void>;
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
import { CoreInjectables, provision } from '@nmtjs/core';
|
|
2
2
|
import * as injectables from '../injectables.js';
|
|
3
3
|
import { JobManager } from '../jobs/manager.js';
|
|
4
|
-
import { PubSubManager } from '../pubsub/manager.js';
|
|
5
4
|
import { BaseRuntime } from '../runtime.js';
|
|
5
|
+
import { SubscriptionManager } from '../subscription/manager.js';
|
|
6
6
|
export class BaseWorkerRuntime extends BaseRuntime {
|
|
7
7
|
config;
|
|
8
8
|
workerType;
|
|
9
|
-
|
|
9
|
+
subscriptionManager;
|
|
10
10
|
jobManager;
|
|
11
11
|
constructor(config, options, workerType) {
|
|
12
12
|
super(options);
|
|
13
13
|
this.config = config;
|
|
14
14
|
this.workerType = workerType;
|
|
15
|
-
this.
|
|
15
|
+
this.subscriptionManager = new SubscriptionManager({
|
|
16
16
|
logger: this.logger,
|
|
17
17
|
container: this.container,
|
|
18
18
|
});
|
|
@@ -24,8 +24,8 @@ export class BaseWorkerRuntime extends BaseRuntime {
|
|
|
24
24
|
const injections = [
|
|
25
25
|
provision(CoreInjectables.logger, this.logger),
|
|
26
26
|
provision(injectables.workerType, this.workerType),
|
|
27
|
-
provision(injectables.
|
|
28
|
-
provision(injectables.
|
|
27
|
+
provision(injectables.publish, this.subscriptionManager.publish.bind(this.subscriptionManager)),
|
|
28
|
+
provision(injectables.subscribe, this.subscriptionManager.subscribe.bind(this.subscriptionManager)),
|
|
29
29
|
];
|
|
30
30
|
if (this.config.store) {
|
|
31
31
|
injections.push(provision(injectables.storeConfig, this.config.store));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../../src/runtime/workers/base.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAKxD,OAAO,KAAK,WAAW,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAC/C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../../src/runtime/workers/base.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAKxD,OAAO,KAAK,WAAW,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AAEhE,MAAM,OAAgB,iBAAkB,SAAQ,WAAW;IAK9C,MAAM;IAEN,UAAU;IANrB,mBAAmB,CAAqB;IACxC,UAAU,CAAa;IAEvB,YACW,MAAoB,EAC7B,OAA2B,EAClB,UAAsB;QAE/B,KAAK,CAAC,OAAO,CAAC,CAAA;sBAJL,MAAM;0BAEN,UAAU;QAInB,IAAI,CAAC,mBAAmB,GAAG,IAAI,mBAAmB,CAAC;YACjD,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAC,CAAA;QAEF,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YACtB,IAAI,CAAC,UAAU,GAAG,IAAI,UAAU,CAC9B,IAAI,CAAC,MAAM,CAAC,KAAK,EACjB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CACnE,CAAA;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,UAAU;QACd,MAAM,UAAU,GAAgB;YAC9B,SAAS,CAAC,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC;YAC9C,SAAS,CAAC,WAAW,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC;YAClD,SAAS,CACP,WAAW,CAAC,OAAO,EACnB,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAChE;YACD,SAAS,CACP,WAAW,CAAC,SAAS,EACrB,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAClE;SACF,CAAA;QAED,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YACtB,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;QACxE,CAAC;QAED,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,UAAU,CAAC,IAAI,CACb,SAAS,CAAC,WAAW,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CAClE,CAAA;QACH,CAAC;QAED,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;QAClC,MAAM,KAAK,CAAC,UAAU,EAAE,CAAA;IAC1B,CAAC;IAES,KAAK,CAAC,WAAW;QACzB,MAAM,IAAI,CAAC,UAAU,EAAE,UAAU,EAAE,CAAA;IACrC,CAAC;IAES,KAAK,CAAC,QAAQ;QACtB,MAAM,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,CAAA;IACpC,CAAC;CACF"}
|
|
@@ -50,8 +50,9 @@ var __disposeResources = (this && this.__disposeResources) || (function (Suppres
|
|
|
50
50
|
var e = new Error(message);
|
|
51
51
|
return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
|
|
52
52
|
});
|
|
53
|
+
import { LifecycleHook } from '@nmtjs/application';
|
|
53
54
|
import { UnrecoverableError } from 'bullmq';
|
|
54
|
-
import {
|
|
55
|
+
import { WorkerType } from '../enums.js';
|
|
55
56
|
import { jobWorkerPool } from '../injectables.js';
|
|
56
57
|
import { ApplicationWorkerJobRunner } from '../jobs/runner.js';
|
|
57
58
|
import { BaseWorkerRuntime } from './base.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"job.js","sourceRoot":"","sources":["../../../src/runtime/workers/job.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"job.js","sourceRoot":"","sources":["../../../src/runtime/workers/job.ts"],"names":[],"mappings":"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"}
|
package/dist/vite/builder.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builder.js","sourceRoot":"","sources":["../../src/vite/builder.ts"],"names":[],"mappings":";;;;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAGnC,OAAO,EAAE,WAAW,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,MAAM,CAAA;AAItD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAEtC,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,aAAgC,EAChC,aAA4B
|
|
1
|
+
{"version":3,"file":"builder.js","sourceRoot":"","sources":["../../src/vite/builder.ts"],"names":[],"mappings":";;;;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAGnC,OAAO,EAAE,WAAW,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,MAAM,CAAA;AAItD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAEtC,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,aAAgC,EAChC,aAA4B;IAE5B,MAAM,MAAM,GAAG,YAAY,CAAC,aAAa,CAAC,CAAA;IAC1C,KAAK,UAAU,KAAK;QAClB,MAAM,WAAW,GAAG,MAAM,MAAM,kCAAC,OAAO,CAAC,gBAAgB,CAAC,GAAE;YAC1D,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;SACvB,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;QAE7B,OAAO,MAAM,SAAS,CACpB,WAAW,CACT;YACE,OAAO,EAAE,QAAQ;YACjB,WAAW,EAAE,KAAK;YAClB,OAAO,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE;YAClD,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC;YACrB,KAAK,EAAE;gBACL,GAAG,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC,IAAI,CAAC,EAAE;gBAC/C,GAAG,EAAE,IAAI;gBACT,aAAa,EAAE,IAAI;gBACnB,MAAM,EAAE,QAAQ;gBAChB,SAAS,EAAE,IAAI;gBACf,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC;gBACzB,MAAM,EAAE,IAAI;gBACZ,WAAW,EAAE,IAAI;gBACjB,eAAe,EAAE;oBACf,QAAQ,EAAE,MAAM;oBAChB,QAAQ,EAAE,CAAC,EAAE,EAAE,EAAE;wBACf,IAAI,aAAa,CAAC,oBAAoB,KAAK,KAAK;4BAAE,OAAO,IAAI,CAAA;wBAC7D,IACE,SAAS,CAAC,EAAE,CAAC;4BACb,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;4BACrC,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;4BAErC,OAAO,IAAI,CAAA;wBAEb,IAAI,aAAa,CAAC,oBAAoB,KAAK,MAAM,EAAE,CAAC;4BAClD,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,IAAI,EAAE,CAAC,CAAA;4BAC5D,IAAI,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;gCAAE,OAAO,IAAI,CAAA;wBACxC,CAAC;wBAED,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,oBAAoB,CAAC,EAAE,CAAC;4BACtD,KAAK,MAAM,GAAG,IAAI,aAAa,CAAC,oBAAoB,EAAE,CAAC;gCACrD,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,EAAE;oCAAE,OAAO,IAAI,CAAA;gCACtD,IAAI,GAAG,YAAY,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;oCAAE,OAAO,IAAI,CAAA;4BACxD,CAAC;wBACH,CAAC;wBAED,OAAO,KAAK,CAAA;oBACd,CAAC;oBACD,SAAS,EAAE;wBACT,MAAM,EAAE;4BACN,eAAe,EAAE,IAAI;4BACrB,uBAAuB,EAAE,IAAI,CAAC,SAAS,CACrC,IAAI,CAAC,SAAS,CACZ,MAAM,CAAC,WAAW,CAChB,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAClD,CAAC,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;gCACvB,OAAO;gCACP,EAAE,IAAI,EAAE,SAAS,EAAE,iBAAiB,OAAO,KAAK,EAAE;6BACnD,CACF,CACF,CACF,CACF;yBACF;qBACF;oBACD,MAAM,EAAE;wBACN,cAAc,EAAE,WAAW;wBAC3B,cAAc,EAAE,kBAAkB;wBAClC,cAAc,EAAE,iBAAiB;qBAClC;iBACF;gBACD,qBAAqB,EAAE,MAAM;aAC9B;SACmB,EACtB,aAAa,CAAC,IAAI,CACnB,CACF,CAAA;IACH,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,CAAA;AAClB,CAAC"}
|
package/dist/vite/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/vite/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAexC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAA;AAE7E,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,kBAAkB,EAAE,aAAa,CAC/B,IAAI,GAAG,CAAC,sBAAsB,GAAG,EAAE,EAAE,OAAO,IAAI,CAAC,GAAG,CAAC,CACtD;IACD,oBAAoB,EAAE,aAAa,CACjC,IAAI,GAAG,CAAC,wBAAwB,GAAG,EAAE,EAAE,OAAO,IAAI,CAAC,GAAG,CAAC,CACxD;IACD,oBAAoB,EAAE,aAAa,CACjC,IAAI,GAAG,CAAC,wBAAwB,GAAG,EAAE,EAAE,OAAO,IAAI,CAAC,GAAG,CAAC,CACxD;IACD,+EAA+E;CAC3C,CAAA;AAEtC,MAAM,UAAU,YAAY,CAAC,OAA0B
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/vite/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAexC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAA;AAE7E,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,kBAAkB,EAAE,aAAa,CAC/B,IAAI,GAAG,CAAC,sBAAsB,GAAG,EAAE,EAAE,OAAO,IAAI,CAAC,GAAG,CAAC,CACtD;IACD,oBAAoB,EAAE,aAAa,CACjC,IAAI,GAAG,CAAC,wBAAwB,GAAG,EAAE,EAAE,OAAO,IAAI,CAAC,GAAG,CAAC,CACxD;IACD,oBAAoB,EAAE,aAAa,CACjC,IAAI,GAAG,CAAC,wBAAwB,GAAG,EAAE,EAAE,OAAO,IAAI,CAAC,GAAG,CAAC,CACxD;IACD,+EAA+E;CAC3C,CAAA;AAEtC,MAAM,UAAU,YAAY,CAAC,OAA0B;IACrD,MAAM,KAAK,GAAG,EAAE,SAAS,EAAE,OAAO,CAAC,eAAe,EAAE,CAAA;IACpD,MAAM,OAAO,GAAG;QACd,MAAM,EAAE,OAAO,CAAC,eAAe;QAC/B,IAAI,EAAE,OAAO,CAAC,kBAAkB;QAChC,MAAM,EAAE,OAAO,CAAC,oBAAoB;QACpC,MAAM,EAAE,OAAO,CAAC,oBAAoB;KACrC,CAAA;IAED,KAAK,MAAM,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,kBAAkB,CAAC,EAAE,CAAC;QAC1E,OAAO,CAAC,eAAe,IAAI,EAAE,CAAC,GAAG,IAAI,CAAA;IACvC,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAA;AAC3B,CAAC"}
|