pp-command-bus 1.2.3 → 1.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +704 -166
- package/dist/command-bus/command.d.ts +0 -1
- package/dist/command-bus/command.js +0 -2
- package/dist/command-bus/command.js.map +1 -1
- package/dist/command-bus/index.d.ts +0 -3
- package/dist/command-bus/index.js +2 -13
- package/dist/command-bus/index.js.map +1 -1
- package/dist/command-bus/job/job-options-builder.d.ts +2 -5
- package/dist/command-bus/job/job-options-builder.js +8 -18
- package/dist/command-bus/job/job-options-builder.js.map +1 -1
- package/dist/command-bus/rpc/rpc-coordinator.d.ts +6 -28
- package/dist/command-bus/rpc/rpc-coordinator.js +12 -35
- package/dist/command-bus/rpc/rpc-coordinator.js.map +1 -1
- package/dist/command-bus/worker/worker-orchestrator.d.ts +9 -6
- package/dist/command-bus/worker/worker-orchestrator.js +18 -12
- package/dist/command-bus/worker/worker-orchestrator.js.map +1 -1
- package/dist/command-bus/worker/worker-orchestrator.spec.js +1 -8
- package/dist/command-bus/worker/worker-orchestrator.spec.js.map +1 -1
- package/dist/pp-command-bus-1.3.0.tgz +0 -0
- package/package.json +4 -4
- package/dist/pp-command-bus-1.2.3.tgz +0 -0
|
@@ -16,7 +16,6 @@ class Command {
|
|
|
16
16
|
}
|
|
17
17
|
/**
|
|
18
18
|
* Przywraca obiekty Date z serializowanych danych
|
|
19
|
-
* Reconstructs Date objects from serialized data
|
|
20
19
|
*/
|
|
21
20
|
static reconstructDates(obj) {
|
|
22
21
|
if (obj === null || obj === undefined) {
|
|
@@ -24,7 +23,6 @@ class Command {
|
|
|
24
23
|
}
|
|
25
24
|
if (typeof obj === 'string') {
|
|
26
25
|
// Sprawdź czy string to data ISO
|
|
27
|
-
// Check if string is an ISO date
|
|
28
26
|
const isoDateRegex = /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d{3})?Z?$/;
|
|
29
27
|
if (isoDateRegex.test(obj)) {
|
|
30
28
|
const date = new Date(obj);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command.js","sourceRoot":"","sources":["../../src/command-bus/command.ts"],"names":[],"mappings":";;AAAA,mCAAoC;AAEpC;;;GAGG;AACH,MAA8B,OAAO;IAgBnC;QALA;;WAEG;QACa,WAAM,GAAW,IAAI,CAAC,GAAG,EAAE,CAAC;QAG1C,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;QACpC,IAAI,CAAC,IAAI,GAAG,IAAA,mBAAU,GAAE,CAAC;IAC3B,CAAC;IAED
|
|
1
|
+
{"version":3,"file":"command.js","sourceRoot":"","sources":["../../src/command-bus/command.ts"],"names":[],"mappings":";;AAAA,mCAAoC;AAEpC;;;GAGG;AACH,MAA8B,OAAO;IAgBnC;QALA;;WAEG;QACa,WAAM,GAAW,IAAI,CAAC,GAAG,EAAE,CAAC;QAG1C,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;QACpC,IAAI,CAAC,IAAI,GAAG,IAAA,mBAAU,GAAE,CAAC;IAC3B,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,gBAAgB,CAAC,GAAY;QACzC,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACtC,OAAO,GAAG,CAAC;QACb,CAAC;QAED,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC5B,iCAAiC;YACjC,MAAM,YAAY,GAAG,mDAAmD,CAAC;YACzE,IAAI,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC3B,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC3B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;oBAC3B,OAAO,IAAI,CAAC;gBACd,CAAC;YACH,CAAC;YACD,OAAO,GAAG,CAAC;QACb,CAAC;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YACvB,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;QAC3D,CAAC;QAED,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC5B,MAAM,MAAM,GAA4B,EAAE,CAAC;YAC3C,KAAK,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;gBACtB,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;oBACnD,MAAM,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,gBAAgB,CAAE,GAA+B,CAAC,GAAG,CAAC,CAAC,CAAC;gBAChF,CAAC;YACH,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AAzDD,0BAyDC"}
|
|
@@ -8,11 +8,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
8
8
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
-
};
|
|
14
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
exports.CommandBusConfig = exports.Command = exports.CommandBus = void 0;
|
|
16
12
|
const ioredis_1 = require("ioredis");
|
|
17
13
|
const queue_1 = require("./queue");
|
|
18
14
|
const worker_1 = require("./worker");
|
|
@@ -59,7 +55,7 @@ class CommandBus {
|
|
|
59
55
|
// Utwórz JobProcessor z Redis connection dla Pub/Sub i compressionService
|
|
60
56
|
this.jobProcessor = new job_1.JobProcessor(this.commandHandlers, this.rpcRedisConnection, this.logger, this.jobOptionsBuilder, this.compressionService, this.commandLogger);
|
|
61
57
|
// Utwórz WorkerOrchestrator z własnym Redis connection
|
|
62
|
-
this.workerOrchestrator = new worker_1.WorkerOrchestrator(this.workerRedisConnection, this.jobProcessor, this.
|
|
58
|
+
this.workerOrchestrator = new worker_1.WorkerOrchestrator(this.workerRedisConnection, this.jobProcessor, this.config.concurrency, this.config.maxAttempts, this.logger);
|
|
63
59
|
this.logger.debug('CommandBus gotowy do użycia', {
|
|
64
60
|
timestamp: new Date().toISOString(),
|
|
65
61
|
});
|
|
@@ -126,7 +122,7 @@ class CommandBus {
|
|
|
126
122
|
* @param command - Komenda do wykonania
|
|
127
123
|
* @param timeout - Timeout w milisekundach (domyślnie 30s)
|
|
128
124
|
*/
|
|
129
|
-
call(
|
|
125
|
+
call(command_1) {
|
|
130
126
|
return __awaiter(this, arguments, void 0, function* (command, timeout = 30000) {
|
|
131
127
|
var _a, _b;
|
|
132
128
|
const commandName = command.__name;
|
|
@@ -184,11 +180,4 @@ class CommandBus {
|
|
|
184
180
|
}
|
|
185
181
|
}
|
|
186
182
|
exports.default = CommandBus;
|
|
187
|
-
// Re-eksporty dla spójności z pattern config
|
|
188
|
-
var index_1 = require("./index");
|
|
189
|
-
Object.defineProperty(exports, "CommandBus", { enumerable: true, get: function () { return __importDefault(index_1).default; } });
|
|
190
|
-
var command_1 = require("./command");
|
|
191
|
-
Object.defineProperty(exports, "Command", { enumerable: true, get: function () { return __importDefault(command_1).default; } });
|
|
192
|
-
var command_bus_config_1 = require("./config/command-bus-config");
|
|
193
|
-
Object.defineProperty(exports, "CommandBusConfig", { enumerable: true, get: function () { return __importDefault(command_bus_config_1).default; } });
|
|
194
183
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/command-bus/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/command-bus/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,22 +3,19 @@ import type { JobOptions } from '../types';
|
|
|
3
3
|
/**
|
|
4
4
|
* JobOptionsBuilder - buduje opcje dla jobów BullMQ
|
|
5
5
|
*
|
|
6
|
-
* Odpowiedzialność: Enkapsulacja konfiguracji job options
|
|
7
|
-
* Wydzielone z CommandBus zgodnie z SRP (Single Responsibility Principle)
|
|
6
|
+
* Odpowiedzialność: Enkapsulacja konfiguracji job options zgodnie z SRP
|
|
8
7
|
*/
|
|
9
8
|
export default class JobOptionsBuilder {
|
|
10
9
|
private readonly config;
|
|
11
10
|
constructor(config: CommandBusConfig);
|
|
12
11
|
/**
|
|
13
12
|
* Buduje standardowe opcje dla jobów BullMQ
|
|
14
|
-
* Memory optimization: agresywniejsze usuwanie completed/failed jobs z Redis
|
|
15
13
|
* @returns Opcje dla standardowych jobów komend
|
|
16
14
|
*/
|
|
17
15
|
buildStandardOptions(): JobOptions;
|
|
18
16
|
/**
|
|
19
17
|
* Buduje opcje dla RPC reply jobs
|
|
20
|
-
*
|
|
21
|
-
* @returns Opcje dla jobów odpowiedzi RPC
|
|
18
|
+
* @returns Opcje dla jobów odpowiedzi RPC (agresywniejsze czyszczenie)
|
|
22
19
|
*/
|
|
23
20
|
buildRpcReplyOptions(): JobOptions;
|
|
24
21
|
}
|
|
@@ -3,8 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
/**
|
|
4
4
|
* JobOptionsBuilder - buduje opcje dla jobów BullMQ
|
|
5
5
|
*
|
|
6
|
-
* Odpowiedzialność: Enkapsulacja konfiguracji job options
|
|
7
|
-
* Wydzielone z CommandBus zgodnie z SRP (Single Responsibility Principle)
|
|
6
|
+
* Odpowiedzialność: Enkapsulacja konfiguracji job options zgodnie z SRP
|
|
8
7
|
*/
|
|
9
8
|
class JobOptionsBuilder {
|
|
10
9
|
constructor(config) {
|
|
@@ -12,22 +11,17 @@ class JobOptionsBuilder {
|
|
|
12
11
|
}
|
|
13
12
|
/**
|
|
14
13
|
* Buduje standardowe opcje dla jobów BullMQ
|
|
15
|
-
* Memory optimization: agresywniejsze usuwanie completed/failed jobs z Redis
|
|
16
14
|
* @returns Opcje dla standardowych jobów komend
|
|
17
15
|
*/
|
|
18
16
|
buildStandardOptions() {
|
|
19
17
|
return {
|
|
20
|
-
// Memory optimization: zachowaj tylko ostatnie 100 completed jobs
|
|
21
|
-
// usuń starsze niż 60s (było: true - usuwaj natychmiast)
|
|
22
18
|
removeOnComplete: {
|
|
23
19
|
count: 100,
|
|
24
20
|
age: 60, // sekundy
|
|
25
21
|
},
|
|
26
|
-
// Memory optimization: zachowaj więcej failed jobs (debugging)
|
|
27
|
-
// ale usuń starsze niż 1h (było: 24h)
|
|
28
22
|
removeOnFail: {
|
|
29
|
-
count: 500,
|
|
30
|
-
age: 3600, //
|
|
23
|
+
count: 500,
|
|
24
|
+
age: 3600, // 1 godzina
|
|
31
25
|
},
|
|
32
26
|
attempts: this.config.maxAttempts,
|
|
33
27
|
backoff: {
|
|
@@ -39,21 +33,17 @@ class JobOptionsBuilder {
|
|
|
39
33
|
}
|
|
40
34
|
/**
|
|
41
35
|
* Buduje opcje dla RPC reply jobs
|
|
42
|
-
*
|
|
43
|
-
* @returns Opcje dla jobów odpowiedzi RPC
|
|
36
|
+
* @returns Opcje dla jobów odpowiedzi RPC (agresywniejsze czyszczenie)
|
|
44
37
|
*/
|
|
45
38
|
buildRpcReplyOptions() {
|
|
46
39
|
return {
|
|
47
|
-
// Memory optimization: RPC replies są natychmiast przetwarzane
|
|
48
|
-
// Usuń completed reply jobs bardzo szybko (30s zamiast rpcReplyTtl)
|
|
49
40
|
removeOnComplete: {
|
|
50
|
-
age: 30, // sekundy
|
|
51
|
-
count: 10,
|
|
41
|
+
age: 30, // sekundy
|
|
42
|
+
count: 10,
|
|
52
43
|
},
|
|
53
|
-
// Memory optimization: failed reply jobs też usuń szybciej
|
|
54
44
|
removeOnFail: {
|
|
55
|
-
age: 300, // 5 minut
|
|
56
|
-
count: 50,
|
|
45
|
+
age: 300, // 5 minut
|
|
46
|
+
count: 50,
|
|
57
47
|
},
|
|
58
48
|
attempts: this.config.maxAttempts,
|
|
59
49
|
backoff: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"job-options-builder.js","sourceRoot":"","sources":["../../../src/command-bus/job/job-options-builder.ts"],"names":[],"mappings":";;AAGA
|
|
1
|
+
{"version":3,"file":"job-options-builder.js","sourceRoot":"","sources":["../../../src/command-bus/job/job-options-builder.ts"],"names":[],"mappings":";;AAGA;;;;GAIG;AACH,MAAqB,iBAAiB;IACpC,YAA6B,MAAwB;QAAxB,WAAM,GAAN,MAAM,CAAkB;IAAG,CAAC;IAEzD;;;OAGG;IACI,oBAAoB;QACzB,OAAO;YACL,gBAAgB,EAAE;gBAChB,KAAK,EAAE,GAAG;gBACV,GAAG,EAAE,EAAE,EAAE,UAAU;aACpB;YACD,YAAY,EAAE;gBACZ,KAAK,EAAE,GAAG;gBACV,GAAG,EAAE,IAAI,EAAE,YAAY;aACxB;YACD,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW;YACjC,OAAO,EAAE;gBACP,IAAI,EAAE,aAAsB;gBAC5B,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY;aAChC;YACD,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,KAAK,MAAM;SACvC,CAAC;IACJ,CAAC;IAED;;;OAGG;IACI,oBAAoB;QACzB,OAAO;YACL,gBAAgB,EAAE;gBAChB,GAAG,EAAE,EAAE,EAAE,UAAU;gBACnB,KAAK,EAAE,EAAE;aACV;YACD,YAAY,EAAE;gBACZ,GAAG,EAAE,GAAG,EAAE,UAAU;gBACpB,KAAK,EAAE,EAAE;aACV;YACD,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW;YACjC,OAAO,EAAE;gBACP,IAAI,EAAE,aAAsB;gBAC5B,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY;aAChC;YACD,IAAI,EAAE,KAAK,EAAE,8BAA8B;SAC5C,CAAC;IACJ,CAAC;CACF;AAhDD,oCAgDC"}
|
|
@@ -5,14 +5,7 @@ import type Command from '../command';
|
|
|
5
5
|
import type PayloadCompressionService from './payload-compression.service';
|
|
6
6
|
/**
|
|
7
7
|
* Zarządza lifecycle wywołań RPC przez Redis Pub/Sub
|
|
8
|
-
* Używa shared subscriber z pattern matching dla
|
|
9
|
-
* Multiplexing odpowiedzi przez Map<correlationId, PendingCall>
|
|
10
|
-
*
|
|
11
|
-
* Architektura: Jeden shared subscriber per proces
|
|
12
|
-
* - Eliminuje race conditions (subscriber zawsze gotowy)
|
|
13
|
-
* - Jedno połączenie Redis zamiast N per RPC call
|
|
14
|
-
* - Pattern: rpc:response:{processId}:* dla izolacji między replikami
|
|
15
|
-
* - Multiplexing przez Map dla routingu odpowiedzi do promises
|
|
8
|
+
* Używa shared subscriber z pattern matching dla multiplexingu odpowiedzi
|
|
16
9
|
*/
|
|
17
10
|
export default class RpcCoordinator {
|
|
18
11
|
private readonly logger;
|
|
@@ -37,8 +30,6 @@ export default class RpcCoordinator {
|
|
|
37
30
|
constructor(logger: ILogger, redisConnection: Redis, compressionService: PayloadCompressionService);
|
|
38
31
|
/**
|
|
39
32
|
* Konfiguruje shared subscriber dla wszystkich RPC calls
|
|
40
|
-
* Pattern subscribe: rpc:response:{processId}:* dla izolacji między procesami
|
|
41
|
-
* Multiplexing: pmessage handler routuje do odpowiednich pending calls
|
|
42
33
|
*/
|
|
43
34
|
private setupSharedSubscriber;
|
|
44
35
|
/**
|
|
@@ -58,30 +49,17 @@ export default class RpcCoordinator {
|
|
|
58
49
|
__rpcMetadata: RpcMetadata;
|
|
59
50
|
};
|
|
60
51
|
/**
|
|
61
|
-
* Rejestruje nowe wywołanie RPC z
|
|
62
|
-
* Dodaje pending call do Map i zwraca promise odpowiedzi
|
|
63
|
-
* Subscriber jest zawsze gotowy (subskrybuje przy konstrukcji) - zero race conditions
|
|
64
|
-
*
|
|
65
|
-
* Architektura: Shared subscriber + multiplexing
|
|
66
|
-
* - Brak race conditions (subscriber gotowy przed pierwszym call)
|
|
67
|
-
* - Jedno połączenie Redis per proces
|
|
68
|
-
* - Routing przez Map<correlationId, PendingCall>
|
|
69
|
-
*
|
|
70
|
-
* WAŻNE: Metoda zwraca Promise który natychmiast się resolve z responsePromise
|
|
71
|
-
* Pozwala to caller'owi na wysłanie komendy do kolejki BullMQ BEZ blokowania
|
|
72
|
-
*
|
|
52
|
+
* Rejestruje nowe wywołanie RPC z timeoutem
|
|
73
53
|
* @param correlationId - Unikalny ID wywołania
|
|
74
54
|
* @param commandName - Nazwa komendy
|
|
75
55
|
* @param timeout - Timeout w milisekundach
|
|
76
|
-
* @returns Promise
|
|
56
|
+
* @returns Promise odpowiedzi RPC
|
|
77
57
|
*/
|
|
78
58
|
registerCall<T>(correlationId: string, commandName: string, timeout: number): Promise<Promise<T>>;
|
|
79
59
|
/**
|
|
80
|
-
* Obsługuje wiadomość RPC z Redis Pub/Sub
|
|
81
|
-
*
|
|
82
|
-
*
|
|
83
|
-
* @param channel - Pełna nazwa kanału: rpc:response:{processId}:{correlationId}
|
|
84
|
-
* @param message - Skompresowana odpowiedź RPC (JSON)
|
|
60
|
+
* Obsługuje wiadomość RPC z Redis Pub/Sub
|
|
61
|
+
* @param channel - Kanał: rpc:response:{processId}:{correlationId}
|
|
62
|
+
* @param message - Odpowiedź RPC (JSON)
|
|
85
63
|
*/
|
|
86
64
|
private handleRpcMessage;
|
|
87
65
|
/**
|
|
@@ -11,20 +11,13 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
const crypto_1 = require("crypto");
|
|
13
13
|
/**
|
|
14
|
-
* UUID per proces Node.js - współdzielony przez wszystkie instancje CommandBus
|
|
15
|
-
* Zapewnia izolację odpowiedzi RPC między różnymi procesami
|
|
14
|
+
* UUID per proces Node.js - współdzielony przez wszystkie instancje CommandBus
|
|
15
|
+
* Zapewnia izolację odpowiedzi RPC między różnymi procesami
|
|
16
16
|
*/
|
|
17
17
|
const PROCESS_INSTANCE_ID = (0, crypto_1.randomUUID)();
|
|
18
18
|
/**
|
|
19
19
|
* Zarządza lifecycle wywołań RPC przez Redis Pub/Sub
|
|
20
|
-
* Używa shared subscriber z pattern matching dla
|
|
21
|
-
* Multiplexing odpowiedzi przez Map<correlationId, PendingCall>
|
|
22
|
-
*
|
|
23
|
-
* Architektura: Jeden shared subscriber per proces
|
|
24
|
-
* - Eliminuje race conditions (subscriber zawsze gotowy)
|
|
25
|
-
* - Jedno połączenie Redis zamiast N per RPC call
|
|
26
|
-
* - Pattern: rpc:response:{processId}:* dla izolacji między replikami
|
|
27
|
-
* - Multiplexing przez Map dla routingu odpowiedzi do promises
|
|
20
|
+
* Używa shared subscriber z pattern matching dla multiplexingu odpowiedzi
|
|
28
21
|
*/
|
|
29
22
|
class RpcCoordinator {
|
|
30
23
|
constructor(logger, redisConnection, compressionService) {
|
|
@@ -48,8 +41,6 @@ class RpcCoordinator {
|
|
|
48
41
|
}
|
|
49
42
|
/**
|
|
50
43
|
* Konfiguruje shared subscriber dla wszystkich RPC calls
|
|
51
|
-
* Pattern subscribe: rpc:response:{processId}:* dla izolacji między procesami
|
|
52
|
-
* Multiplexing: pmessage handler routuje do odpowiednich pending calls
|
|
53
44
|
*/
|
|
54
45
|
setupSharedSubscriber() {
|
|
55
46
|
this.sharedSubscriber = this.redisConnection.duplicate();
|
|
@@ -157,22 +148,11 @@ class RpcCoordinator {
|
|
|
157
148
|
} });
|
|
158
149
|
}
|
|
159
150
|
/**
|
|
160
|
-
* Rejestruje nowe wywołanie RPC z
|
|
161
|
-
* Dodaje pending call do Map i zwraca promise odpowiedzi
|
|
162
|
-
* Subscriber jest zawsze gotowy (subskrybuje przy konstrukcji) - zero race conditions
|
|
163
|
-
*
|
|
164
|
-
* Architektura: Shared subscriber + multiplexing
|
|
165
|
-
* - Brak race conditions (subscriber gotowy przed pierwszym call)
|
|
166
|
-
* - Jedno połączenie Redis per proces
|
|
167
|
-
* - Routing przez Map<correlationId, PendingCall>
|
|
168
|
-
*
|
|
169
|
-
* WAŻNE: Metoda zwraca Promise który natychmiast się resolve z responsePromise
|
|
170
|
-
* Pozwala to caller'owi na wysłanie komendy do kolejki BullMQ BEZ blokowania
|
|
171
|
-
*
|
|
151
|
+
* Rejestruje nowe wywołanie RPC z timeoutem
|
|
172
152
|
* @param correlationId - Unikalny ID wywołania
|
|
173
153
|
* @param commandName - Nazwa komendy
|
|
174
154
|
* @param timeout - Timeout w milisekundach
|
|
175
|
-
* @returns Promise
|
|
155
|
+
* @returns Promise odpowiedzi RPC
|
|
176
156
|
*/
|
|
177
157
|
registerCall(correlationId, commandName, timeout) {
|
|
178
158
|
return __awaiter(this, void 0, void 0, function* () {
|
|
@@ -226,11 +206,9 @@ class RpcCoordinator {
|
|
|
226
206
|
});
|
|
227
207
|
}
|
|
228
208
|
/**
|
|
229
|
-
* Obsługuje wiadomość RPC z Redis Pub/Sub
|
|
230
|
-
*
|
|
231
|
-
*
|
|
232
|
-
* @param channel - Pełna nazwa kanału: rpc:response:{processId}:{correlationId}
|
|
233
|
-
* @param message - Skompresowana odpowiedź RPC (JSON)
|
|
209
|
+
* Obsługuje wiadomość RPC z Redis Pub/Sub
|
|
210
|
+
* @param channel - Kanał: rpc:response:{processId}:{correlationId}
|
|
211
|
+
* @param message - Odpowiedź RPC (JSON)
|
|
234
212
|
*/
|
|
235
213
|
handleRpcMessage(channel, message) {
|
|
236
214
|
// Ekstraktuj correlationId z channel: rpc:response:{processId}:{correlationId}
|
|
@@ -302,9 +280,6 @@ class RpcCoordinator {
|
|
|
302
280
|
pendingCallsCount: this.pendingCalls.size - 1,
|
|
303
281
|
timestamp: new Date().toISOString(),
|
|
304
282
|
});
|
|
305
|
-
// Cleanup
|
|
306
|
-
clearTimeout(pendingCall.timeoutId);
|
|
307
|
-
this.pendingCalls.delete(correlationId);
|
|
308
283
|
// Resolve/reject promise
|
|
309
284
|
if (error) {
|
|
310
285
|
this.logger.error('Wywołanie RPC odrzucone', {
|
|
@@ -335,10 +310,12 @@ class RpcCoordinator {
|
|
|
335
310
|
error: decompressError instanceof Error ? decompressError.message : String(decompressError),
|
|
336
311
|
timestamp: new Date().toISOString(),
|
|
337
312
|
});
|
|
338
|
-
|
|
313
|
+
pendingCall.reject(new Error('Failed to decompress/parse RPC response'));
|
|
314
|
+
})
|
|
315
|
+
.finally(() => {
|
|
316
|
+
// Cleanup - zawsze wyczyść timeout i usuń z pending calls (zapobiega memory leak)
|
|
339
317
|
clearTimeout(pendingCall.timeoutId);
|
|
340
318
|
this.pendingCalls.delete(correlationId);
|
|
341
|
-
pendingCall.reject(new Error('Failed to decompress/parse RPC response'));
|
|
342
319
|
});
|
|
343
320
|
}
|
|
344
321
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rpc-coordinator.js","sourceRoot":"","sources":["../../../src/command-bus/rpc/rpc-coordinator.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"rpc-coordinator.js","sourceRoot":"","sources":["../../../src/command-bus/rpc/rpc-coordinator.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,14 +2,12 @@ import { Worker } from 'bullmq';
|
|
|
2
2
|
import type { Redis } from 'ioredis';
|
|
3
3
|
import type { ILogger } from '../../shared/types';
|
|
4
4
|
import type JobProcessor from '../job/job-processor';
|
|
5
|
-
import type QueueManager from '../queue/queue-manager';
|
|
6
5
|
/**
|
|
7
6
|
* Zarządza workerami BullMQ dla obsługi komend
|
|
8
7
|
*/
|
|
9
8
|
export default class WorkerOrchestrator {
|
|
10
9
|
private readonly redisConnection;
|
|
11
10
|
private readonly jobProcessor;
|
|
12
|
-
private readonly queueManager;
|
|
13
11
|
private readonly defaultConcurrency;
|
|
14
12
|
private readonly maxAttempts;
|
|
15
13
|
private readonly logger;
|
|
@@ -29,17 +27,22 @@ export default class WorkerOrchestrator {
|
|
|
29
27
|
* Cooldown między zmianami concurrency (30s)
|
|
30
28
|
*/
|
|
31
29
|
private readonly concurrencyCooldownMs;
|
|
32
|
-
|
|
30
|
+
/**
|
|
31
|
+
* Współczynnik zwiększenia concurrency (+20%)
|
|
32
|
+
*/
|
|
33
|
+
private readonly CONCURRENCY_INCREASE_FACTOR;
|
|
34
|
+
/**
|
|
35
|
+
* Współczynnik zmniejszenia concurrency (-20%)
|
|
36
|
+
*/
|
|
37
|
+
private readonly CONCURRENCY_DECREASE_FACTOR;
|
|
38
|
+
constructor(redisConnection: Redis, jobProcessor: JobProcessor, defaultConcurrency: number, maxAttempts: number, logger: ILogger);
|
|
33
39
|
/**
|
|
34
40
|
* Rejestruje handler dla komendy i tworzy workera
|
|
35
|
-
* Uruchamia benchmark aby ustalić optymalne concurrency
|
|
36
|
-
* Reużywa własne Redis connection dla optymalizacji pamięci
|
|
37
41
|
* @param commandName - Nazwa komendy
|
|
38
42
|
*/
|
|
39
43
|
registerWorker(commandName: string): void;
|
|
40
44
|
/**
|
|
41
45
|
* Konfiguruje event handlery dla workera
|
|
42
|
-
* Memory optimization: redukcja captured variables w closures
|
|
43
46
|
*/
|
|
44
47
|
private setupWorkerEventHandlers;
|
|
45
48
|
/**
|
|
@@ -19,10 +19,9 @@ const worker_benchmark_1 = __importDefault(require("./worker-benchmark"));
|
|
|
19
19
|
* Zarządza workerami BullMQ dla obsługi komend
|
|
20
20
|
*/
|
|
21
21
|
class WorkerOrchestrator {
|
|
22
|
-
constructor(redisConnection, jobProcessor,
|
|
22
|
+
constructor(redisConnection, jobProcessor, defaultConcurrency, maxAttempts, logger) {
|
|
23
23
|
this.redisConnection = redisConnection;
|
|
24
24
|
this.jobProcessor = jobProcessor;
|
|
25
|
-
this.queueManager = queueManager;
|
|
26
25
|
this.defaultConcurrency = defaultConcurrency;
|
|
27
26
|
this.maxAttempts = maxAttempts;
|
|
28
27
|
this.logger = logger;
|
|
@@ -42,11 +41,17 @@ class WorkerOrchestrator {
|
|
|
42
41
|
* Cooldown między zmianami concurrency (30s)
|
|
43
42
|
*/
|
|
44
43
|
this.concurrencyCooldownMs = 30000;
|
|
44
|
+
/**
|
|
45
|
+
* Współczynnik zwiększenia concurrency (+20%)
|
|
46
|
+
*/
|
|
47
|
+
this.CONCURRENCY_INCREASE_FACTOR = 1.2;
|
|
48
|
+
/**
|
|
49
|
+
* Współczynnik zmniejszenia concurrency (-20%)
|
|
50
|
+
*/
|
|
51
|
+
this.CONCURRENCY_DECREASE_FACTOR = 0.8;
|
|
45
52
|
}
|
|
46
53
|
/**
|
|
47
54
|
* Rejestruje handler dla komendy i tworzy workera
|
|
48
|
-
* Uruchamia benchmark aby ustalić optymalne concurrency
|
|
49
|
-
* Reużywa własne Redis connection dla optymalizacji pamięci
|
|
50
55
|
* @param commandName - Nazwa komendy
|
|
51
56
|
*/
|
|
52
57
|
registerWorker(commandName) {
|
|
@@ -116,7 +121,6 @@ class WorkerOrchestrator {
|
|
|
116
121
|
}
|
|
117
122
|
/**
|
|
118
123
|
* Konfiguruje event handlery dla workera
|
|
119
|
-
* Memory optimization: redukcja captured variables w closures
|
|
120
124
|
*/
|
|
121
125
|
setupWorkerEventHandlers(commandName) {
|
|
122
126
|
const worker = this.workers[commandName];
|
|
@@ -128,6 +132,10 @@ class WorkerOrchestrator {
|
|
|
128
132
|
worker.on('failed', (job, err) => {
|
|
129
133
|
var _a, _b, _c, _d, _e;
|
|
130
134
|
const command = job === null || job === void 0 ? void 0 : job.data;
|
|
135
|
+
// Wyczyść tracking czasu dla failed jobs (zapobiega memory leak)
|
|
136
|
+
if (job === null || job === void 0 ? void 0 : job.id) {
|
|
137
|
+
jobStartTimes.delete(job.id);
|
|
138
|
+
}
|
|
131
139
|
logger.error('Job zakończony niepowodzeniem', {
|
|
132
140
|
commandName,
|
|
133
141
|
commandId: command === null || command === void 0 ? void 0 : command.__id,
|
|
@@ -142,10 +150,6 @@ class WorkerOrchestrator {
|
|
|
142
150
|
if ((job === null || job === void 0 ? void 0 : job.id) && metricsCollector) {
|
|
143
151
|
metricsCollector.onJobFailed(job.id);
|
|
144
152
|
}
|
|
145
|
-
// Wyczyść tracking czasu dla failed jobs
|
|
146
|
-
if (job === null || job === void 0 ? void 0 : job.id) {
|
|
147
|
-
jobStartTimes.delete(job.id);
|
|
148
|
-
}
|
|
149
153
|
});
|
|
150
154
|
worker.on('completed', (job) => {
|
|
151
155
|
const command = job === null || job === void 0 ? void 0 : job.data;
|
|
@@ -206,6 +210,8 @@ class WorkerOrchestrator {
|
|
|
206
210
|
});
|
|
207
211
|
});
|
|
208
212
|
worker.on('stalled', (jobId) => {
|
|
213
|
+
// Wyczyść tracking czasu dla stalled jobs (zapobiega memory leak)
|
|
214
|
+
jobStartTimes.delete(jobId);
|
|
209
215
|
logger.warn('Job zatrzymany (stalled)', {
|
|
210
216
|
commandName,
|
|
211
217
|
jobId,
|
|
@@ -282,14 +288,14 @@ class WorkerOrchestrator {
|
|
|
282
288
|
});
|
|
283
289
|
return;
|
|
284
290
|
}
|
|
285
|
-
const currentConcurrency = (_b =
|
|
291
|
+
const currentConcurrency = (_b = worker.concurrency) !== null && _b !== void 0 ? _b : this.defaultConcurrency;
|
|
286
292
|
let newConcurrency;
|
|
287
293
|
// Oblicz nową wartość (+/-20%)
|
|
288
294
|
if (direction === 'increase') {
|
|
289
|
-
newConcurrency = Math.round(currentConcurrency *
|
|
295
|
+
newConcurrency = Math.round(currentConcurrency * this.CONCURRENCY_INCREASE_FACTOR);
|
|
290
296
|
}
|
|
291
297
|
else {
|
|
292
|
-
newConcurrency = Math.round(currentConcurrency *
|
|
298
|
+
newConcurrency = Math.round(currentConcurrency * this.CONCURRENCY_DECREASE_FACTOR);
|
|
293
299
|
}
|
|
294
300
|
// Zastosuj limity: min 10, max 2000
|
|
295
301
|
newConcurrency = Math.max(10, Math.min(2000, newConcurrency));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker-orchestrator.js","sourceRoot":"","sources":["../../../src/command-bus/worker/worker-orchestrator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,mCAAgC;AAKhC,0FAAgE;AAChE,0EAAiD;
|
|
1
|
+
{"version":3,"file":"worker-orchestrator.js","sourceRoot":"","sources":["../../../src/command-bus/worker/worker-orchestrator.ts"],"names":[],"mappings":"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"}
|
|
@@ -38,7 +38,6 @@ describe('WorkerOrchestrator', () => {
|
|
|
38
38
|
let workerOrchestrator;
|
|
39
39
|
let mockRedisConnection;
|
|
40
40
|
let mockJobProcessor;
|
|
41
|
-
let mockQueueManager;
|
|
42
41
|
let mockLogger;
|
|
43
42
|
let mockWorker;
|
|
44
43
|
const concurrency = 5;
|
|
@@ -59,12 +58,6 @@ describe('WorkerOrchestrator', () => {
|
|
|
59
58
|
mockJobProcessor = {
|
|
60
59
|
process: jest.fn().mockResolvedValue({ success: true }),
|
|
61
60
|
};
|
|
62
|
-
// Mock QueueManager
|
|
63
|
-
mockQueueManager = {
|
|
64
|
-
getOrCreateQueue: jest.fn().mockReturnValue({
|
|
65
|
-
name: 'test-queue',
|
|
66
|
-
}),
|
|
67
|
-
};
|
|
68
61
|
// Mock Worker factory z concurrency property per-instance
|
|
69
62
|
bullmq_1.Worker.mockImplementation((_queueName, _processor, options) => {
|
|
70
63
|
var _a;
|
|
@@ -86,7 +79,7 @@ describe('WorkerOrchestrator', () => {
|
|
|
86
79
|
mockWorker = workerInstance;
|
|
87
80
|
return workerInstance;
|
|
88
81
|
});
|
|
89
|
-
workerOrchestrator = new worker_orchestrator_1.default(mockRedisConnection, mockJobProcessor,
|
|
82
|
+
workerOrchestrator = new worker_orchestrator_1.default(mockRedisConnection, mockJobProcessor, concurrency, maxAttempts, mockLogger);
|
|
90
83
|
});
|
|
91
84
|
describe('registerWorker', () => {
|
|
92
85
|
it('powinno utworzyć nowy worker dla komendy', () => __awaiter(void 0, void 0, void 0, function* () {
|