pp-command-bus 1.4.0 → 2.0.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 +402 -1113
- package/dist/command-bus/command-bus.spec.js +144 -370
- package/dist/command-bus/command-bus.spec.js.map +1 -1
- package/dist/command-bus/command.d.ts +23 -5
- package/dist/command-bus/command.js +20 -34
- package/dist/command-bus/command.js.map +1 -1
- package/dist/command-bus/config/command-bus-config.d.ts +75 -21
- package/dist/command-bus/config/command-bus-config.js +99 -58
- package/dist/command-bus/config/command-bus-config.js.map +1 -1
- package/dist/command-bus/config/command-bus-config.spec.js +174 -100
- package/dist/command-bus/config/command-bus-config.spec.js.map +1 -1
- package/dist/command-bus/index.d.ts +39 -52
- package/dist/command-bus/index.js +133 -126
- package/dist/command-bus/index.js.map +1 -1
- package/dist/command-bus/logging/command-logger.d.ts +2 -0
- package/dist/command-bus/logging/command-logger.js +7 -0
- package/dist/command-bus/logging/command-logger.js.map +1 -1
- package/dist/command-bus/logging/command-logger.spec.js +49 -14
- package/dist/command-bus/logging/command-logger.spec.js.map +1 -1
- package/dist/command-bus/serialization/index.d.ts +6 -0
- package/dist/command-bus/serialization/index.js +9 -0
- package/dist/command-bus/serialization/index.js.map +1 -0
- package/dist/command-bus/serialization/msgpack-serializer.d.ts +26 -0
- package/dist/command-bus/serialization/msgpack-serializer.js +70 -0
- package/dist/command-bus/serialization/msgpack-serializer.js.map +1 -0
- package/dist/command-bus/serialization/msgpack-serializer.spec.js +223 -0
- package/dist/command-bus/serialization/msgpack-serializer.spec.js.map +1 -0
- package/dist/command-bus/serialization/serializer.interface.d.ts +21 -0
- package/dist/command-bus/serialization/serializer.interface.js +3 -0
- package/dist/command-bus/serialization/serializer.interface.js.map +1 -0
- package/dist/command-bus/transport/consumer-loop.d.ts +45 -0
- package/dist/command-bus/transport/consumer-loop.js +90 -0
- package/dist/command-bus/transport/consumer-loop.js.map +1 -0
- package/dist/command-bus/transport/consumer-loop.spec.js +216 -0
- package/dist/command-bus/transport/consumer-loop.spec.js.map +1 -0
- package/dist/command-bus/transport/index.d.ts +21 -0
- package/dist/command-bus/transport/index.js +23 -0
- package/dist/command-bus/transport/index.js.map +1 -0
- package/dist/command-bus/transport/message-processor.d.ts +59 -0
- package/dist/command-bus/transport/message-processor.js +111 -0
- package/dist/command-bus/transport/message-processor.js.map +1 -0
- package/dist/command-bus/transport/message-processor.spec.js +185 -0
- package/dist/command-bus/transport/message-processor.spec.js.map +1 -0
- package/dist/command-bus/transport/pending-recovery.d.ts +54 -0
- package/dist/command-bus/transport/pending-recovery.js +139 -0
- package/dist/command-bus/transport/pending-recovery.js.map +1 -0
- package/dist/command-bus/transport/pending-recovery.spec.js +176 -0
- package/dist/command-bus/transport/pending-recovery.spec.js.map +1 -0
- package/dist/command-bus/transport/redis-codec.d.ts +24 -0
- package/dist/command-bus/transport/redis-codec.js +33 -0
- package/dist/command-bus/transport/redis-codec.js.map +1 -0
- package/dist/command-bus/transport/redis-codec.spec.js +53 -0
- package/dist/command-bus/transport/redis-codec.spec.js.map +1 -0
- package/dist/command-bus/transport/redis-streams-transport.d.ts +91 -0
- package/dist/command-bus/transport/redis-streams-transport.js +134 -0
- package/dist/command-bus/transport/redis-streams-transport.js.map +1 -0
- package/dist/command-bus/transport/redis-streams-transport.spec.js +420 -0
- package/dist/command-bus/transport/redis-streams-transport.spec.js.map +1 -0
- package/dist/command-bus/transport/rpc-handler.d.ts +39 -0
- package/dist/command-bus/transport/rpc-handler.js +87 -0
- package/dist/command-bus/transport/rpc-handler.js.map +1 -0
- package/dist/command-bus/transport/rpc-handler.spec.js +157 -0
- package/dist/command-bus/transport/rpc-handler.spec.js.map +1 -0
- package/dist/command-bus/transport/stream-consumer.d.ts +89 -0
- package/dist/command-bus/transport/stream-consumer.js +181 -0
- package/dist/command-bus/transport/stream-consumer.js.map +1 -0
- package/dist/command-bus/transport/stream-consumer.spec.js +284 -0
- package/dist/command-bus/transport/stream-consumer.spec.js.map +1 -0
- package/dist/command-bus/transport/stream-producer.d.ts +23 -0
- package/dist/command-bus/transport/stream-producer.js +70 -0
- package/dist/command-bus/transport/stream-producer.js.map +1 -0
- package/dist/command-bus/transport/stream-producer.spec.js +125 -0
- package/dist/command-bus/transport/stream-producer.spec.js.map +1 -0
- package/dist/command-bus/transport/transport.interface.d.ts +87 -0
- package/dist/command-bus/transport/transport.interface.js +3 -0
- package/dist/command-bus/transport/transport.interface.js.map +1 -0
- package/dist/command-bus/types/index.d.ts +9 -80
- package/dist/examples/rpc-throughput.demo.js +24 -22
- package/dist/examples/rpc-throughput.demo.js.map +1 -1
- package/dist/examples/rpc.demo.js +47 -53
- package/dist/examples/rpc.demo.js.map +1 -1
- package/dist/index.d.ts +8 -5
- package/dist/index.js +6 -4
- package/dist/index.js.map +1 -1
- package/dist/pp-command-bus-2.0.0.tgz +0 -0
- package/dist/shared/redis/connection-pool.d.ts +54 -0
- package/dist/shared/redis/connection-pool.js +117 -0
- package/dist/shared/redis/connection-pool.js.map +1 -0
- package/dist/shared/redis/connection-pool.spec.js +114 -0
- package/dist/shared/redis/connection-pool.spec.js.map +1 -0
- package/dist/shared/redis/index.d.ts +5 -3
- package/dist/shared/redis/index.js +6 -4
- package/dist/shared/redis/index.js.map +1 -1
- package/dist/shared/redis/rpc-connection-pool.d.ts +61 -0
- package/dist/shared/redis/rpc-connection-pool.js +154 -0
- package/dist/shared/redis/rpc-connection-pool.js.map +1 -0
- package/dist/shared/redis/rpc-connection-pool.spec.d.ts +1 -0
- package/dist/shared/redis/rpc-connection-pool.spec.js +173 -0
- package/dist/shared/redis/rpc-connection-pool.spec.js.map +1 -0
- package/dist/shared/types.d.ts +0 -4
- package/dist/shared/utils/error-utils.d.ts +8 -0
- package/dist/shared/utils/error-utils.js +14 -0
- package/dist/shared/utils/error-utils.js.map +1 -0
- package/package.json +12 -12
- package/dist/command-bus/config/auto-config-optimizer.d.ts +0 -35
- package/dist/command-bus/config/auto-config-optimizer.js +0 -52
- package/dist/command-bus/config/auto-config-optimizer.js.map +0 -1
- package/dist/command-bus/config/auto-config-optimizer.spec.js +0 -42
- package/dist/command-bus/config/auto-config-optimizer.spec.js.map +0 -1
- package/dist/command-bus/job/index.d.ts +0 -6
- package/dist/command-bus/job/index.js +0 -15
- package/dist/command-bus/job/index.js.map +0 -1
- package/dist/command-bus/job/job-options-builder.d.ts +0 -21
- package/dist/command-bus/job/job-options-builder.js +0 -58
- package/dist/command-bus/job/job-options-builder.js.map +0 -1
- package/dist/command-bus/job/job-options-builder.spec.js +0 -156
- package/dist/command-bus/job/job-options-builder.spec.js.map +0 -1
- package/dist/command-bus/job/job-processor.d.ts +0 -39
- package/dist/command-bus/job/job-processor.js +0 -203
- package/dist/command-bus/job/job-processor.js.map +0 -1
- package/dist/command-bus/job/job-processor.spec.js +0 -437
- package/dist/command-bus/job/job-processor.spec.js.map +0 -1
- package/dist/command-bus/queue/index.d.ts +0 -5
- package/dist/command-bus/queue/index.js +0 -13
- package/dist/command-bus/queue/index.js.map +0 -1
- package/dist/command-bus/queue/queue-manager.d.ts +0 -56
- package/dist/command-bus/queue/queue-manager.js +0 -163
- package/dist/command-bus/queue/queue-manager.js.map +0 -1
- package/dist/command-bus/queue/queue-manager.spec.js +0 -371
- package/dist/command-bus/queue/queue-manager.spec.js.map +0 -1
- package/dist/command-bus/rpc/index.d.ts +0 -11
- package/dist/command-bus/rpc/index.js +0 -19
- package/dist/command-bus/rpc/index.js.map +0 -1
- package/dist/command-bus/rpc/payload-compression.service.d.ts +0 -51
- package/dist/command-bus/rpc/payload-compression.service.js +0 -218
- package/dist/command-bus/rpc/payload-compression.service.js.map +0 -1
- package/dist/command-bus/rpc/payload-compression.service.spec.js +0 -379
- package/dist/command-bus/rpc/payload-compression.service.spec.js.map +0 -1
- package/dist/command-bus/rpc/rpc-coordinator.d.ts +0 -96
- package/dist/command-bus/rpc/rpc-coordinator.js +0 -500
- package/dist/command-bus/rpc/rpc-coordinator.js.map +0 -1
- package/dist/command-bus/rpc/rpc-coordinator.spec.js +0 -622
- package/dist/command-bus/rpc/rpc-coordinator.spec.js.map +0 -1
- package/dist/command-bus/rpc/rpc-job-cancellation.service.d.ts +0 -82
- package/dist/command-bus/rpc/rpc-job-cancellation.service.js +0 -180
- package/dist/command-bus/rpc/rpc-job-cancellation.service.js.map +0 -1
- package/dist/command-bus/rpc/rpc-job-cancellation.service.spec.js +0 -286
- package/dist/command-bus/rpc/rpc-job-cancellation.service.spec.js.map +0 -1
- package/dist/command-bus/worker/index.d.ts +0 -10
- package/dist/command-bus/worker/index.js +0 -19
- package/dist/command-bus/worker/index.js.map +0 -1
- package/dist/command-bus/worker/worker-benchmark.d.ts +0 -71
- package/dist/command-bus/worker/worker-benchmark.js +0 -203
- package/dist/command-bus/worker/worker-benchmark.js.map +0 -1
- package/dist/command-bus/worker/worker-benchmark.spec.js +0 -310
- package/dist/command-bus/worker/worker-benchmark.spec.js.map +0 -1
- package/dist/command-bus/worker/worker-metrics-collector.d.ts +0 -98
- package/dist/command-bus/worker/worker-metrics-collector.js +0 -242
- package/dist/command-bus/worker/worker-metrics-collector.js.map +0 -1
- package/dist/command-bus/worker/worker-orchestrator.d.ts +0 -70
- package/dist/command-bus/worker/worker-orchestrator.js +0 -339
- package/dist/command-bus/worker/worker-orchestrator.js.map +0 -1
- package/dist/command-bus/worker/worker-orchestrator.spec.js +0 -712
- package/dist/command-bus/worker/worker-orchestrator.spec.js.map +0 -1
- package/dist/examples/auto-config.demo.d.ts +0 -9
- package/dist/examples/auto-config.demo.js +0 -106
- package/dist/examples/auto-config.demo.js.map +0 -1
- package/dist/examples/rpc-compression.demo.d.ts +0 -5
- package/dist/examples/rpc-compression.demo.js +0 -363
- package/dist/examples/rpc-compression.demo.js.map +0 -1
- package/dist/examples/rpc-resilience.demo.d.ts +0 -11
- package/dist/examples/rpc-resilience.demo.js +0 -235
- package/dist/examples/rpc-resilience.demo.js.map +0 -1
- package/dist/pp-command-bus-1.4.0.tgz +0 -0
- package/dist/shared/config/base-config.d.ts +0 -54
- package/dist/shared/config/base-config.js +0 -114
- package/dist/shared/config/base-config.js.map +0 -1
- package/dist/shared/config/base-config.spec.js +0 -204
- package/dist/shared/config/base-config.spec.js.map +0 -1
- package/dist/shared/config/index.d.ts +0 -1
- package/dist/shared/config/index.js +0 -9
- package/dist/shared/config/index.js.map +0 -1
- package/dist/shared/redis/redis-connection-factory.d.ts +0 -66
- package/dist/shared/redis/redis-connection-factory.js +0 -113
- package/dist/shared/redis/redis-connection-factory.js.map +0 -1
- /package/dist/command-bus/{config/auto-config-optimizer.spec.d.ts → serialization/msgpack-serializer.spec.d.ts} +0 -0
- /package/dist/command-bus/{job/job-options-builder.spec.d.ts → transport/consumer-loop.spec.d.ts} +0 -0
- /package/dist/command-bus/{job/job-processor.spec.d.ts → transport/message-processor.spec.d.ts} +0 -0
- /package/dist/command-bus/{queue/queue-manager.spec.d.ts → transport/pending-recovery.spec.d.ts} +0 -0
- /package/dist/command-bus/{rpc/payload-compression.service.spec.d.ts → transport/redis-codec.spec.d.ts} +0 -0
- /package/dist/command-bus/{rpc/rpc-coordinator.spec.d.ts → transport/redis-streams-transport.spec.d.ts} +0 -0
- /package/dist/command-bus/{rpc/rpc-job-cancellation.service.spec.d.ts → transport/rpc-handler.spec.d.ts} +0 -0
- /package/dist/command-bus/{worker/worker-benchmark.spec.d.ts → transport/stream-consumer.spec.d.ts} +0 -0
- /package/dist/command-bus/{worker/worker-orchestrator.spec.d.ts → transport/stream-producer.spec.d.ts} +0 -0
- /package/dist/shared/{config/base-config.spec.d.ts → redis/connection-pool.spec.d.ts} +0 -0
|
@@ -8,73 +8,95 @@ 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
|
+
};
|
|
11
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
const
|
|
13
|
-
const
|
|
14
|
-
const
|
|
15
|
-
const
|
|
15
|
+
const serialization_1 = require("./serialization");
|
|
16
|
+
const transport_1 = require("./transport");
|
|
17
|
+
const connection_pool_1 = __importDefault(require("../shared/redis/connection-pool"));
|
|
18
|
+
const rpc_connection_pool_1 = __importDefault(require("../shared/redis/rpc-connection-pool"));
|
|
16
19
|
const logging_1 = require("./logging");
|
|
17
|
-
const
|
|
20
|
+
const error_utils_1 = require("../shared/utils/error-utils");
|
|
18
21
|
/**
|
|
19
|
-
* Command Bus
|
|
22
|
+
* Command Bus oparty na Redis Streams + DragonflyDB
|
|
23
|
+
*
|
|
20
24
|
* Obsługuje komendy w relacji 1:1 (jedna komenda = jeden handler)
|
|
25
|
+
* API: dispatch(), dispatchBatch(), call(), handle(), close()
|
|
26
|
+
*
|
|
27
|
+
* Technologie:
|
|
28
|
+
* - Redis Streams (XADD/XREADGROUP) — natywny transport
|
|
29
|
+
* - MessagePack — binarna serializacja z obsługą Date
|
|
30
|
+
* - LPUSH/BRPOP — point-to-point RPC
|
|
31
|
+
* - Connection pool z round-robin — wielowątkowy DragonflyDB
|
|
21
32
|
*/
|
|
22
33
|
class CommandBus {
|
|
23
34
|
constructor(config) {
|
|
24
35
|
this.config = config;
|
|
25
36
|
/**
|
|
26
|
-
* Handlery komend
|
|
37
|
+
* Handlery komend — tylko jeden per typ komendy
|
|
27
38
|
*/
|
|
28
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
29
39
|
this.commandHandlers = {};
|
|
30
|
-
|
|
40
|
+
/**
|
|
41
|
+
* Promises z transport.consume() — do graceful shutdown
|
|
42
|
+
*/
|
|
43
|
+
this.consumePromises = [];
|
|
31
44
|
this.logger = config.logger;
|
|
32
45
|
this.logger.debug('Konstruktor CommandBus', {
|
|
33
|
-
config:
|
|
46
|
+
config: {
|
|
47
|
+
poolSize: config.poolSize,
|
|
48
|
+
maxConcurrentRpc: config.maxConcurrentRpc,
|
|
49
|
+
batchSize: config.batchSize,
|
|
50
|
+
maxAttempts: config.maxAttempts,
|
|
51
|
+
claimTimeout: config.claimTimeout,
|
|
52
|
+
maxRetained: config.maxRetained,
|
|
53
|
+
},
|
|
34
54
|
timestamp: new Date().toISOString(),
|
|
35
55
|
});
|
|
36
|
-
//
|
|
37
|
-
|
|
38
|
-
//
|
|
39
|
-
// getRedisOptions() zwraca ConnectionOptions z BullMQ, które są kompatybilne z RedisConnectionOptions
|
|
56
|
+
// Serializer: MessagePack z natywną obsługą Date (eliminuje reconstructDates)
|
|
57
|
+
this.serializer = new serialization_1.MsgpackSerializer();
|
|
58
|
+
// Opcje Redis z konfiguracji
|
|
40
59
|
const redisOptions = this.config.getRedisOptions();
|
|
41
|
-
//
|
|
42
|
-
this.
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
//
|
|
48
|
-
this.
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
//
|
|
54
|
-
this.
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
60
|
+
// Pula połączeń Redis — round-robin dla XADD, XACK, DEL, pipeline
|
|
61
|
+
this.connectionPool = new connection_pool_1.default({
|
|
62
|
+
size: config.poolSize,
|
|
63
|
+
redisOptions,
|
|
64
|
+
logger: this.logger,
|
|
65
|
+
});
|
|
66
|
+
// Pula połączeń RPC — bounded, lazy, dla blocking BRPOP
|
|
67
|
+
this.rpcConnectionPool = new rpc_connection_pool_1.default({
|
|
68
|
+
maxSize: config.maxConcurrentRpc,
|
|
69
|
+
redisOptions,
|
|
70
|
+
logger: this.logger,
|
|
71
|
+
});
|
|
72
|
+
// Transport: Redis Streams
|
|
73
|
+
this.transport = new transport_1.RedisStreamsTransport({
|
|
74
|
+
pool: this.connectionPool,
|
|
75
|
+
rpcPool: this.rpcConnectionPool,
|
|
76
|
+
serializer: this.serializer,
|
|
77
|
+
logger: this.logger,
|
|
78
|
+
maxRetained: config.maxRetained,
|
|
79
|
+
maxAttempts: config.maxAttempts,
|
|
80
|
+
claimTimeout: config.claimTimeout,
|
|
81
|
+
batchSize: config.batchSize,
|
|
82
|
+
concurrency: config.concurrency,
|
|
83
|
+
});
|
|
84
|
+
// CommandLogger jeśli commandLog jest skonfigurowane
|
|
58
85
|
if (this.config.commandLog) {
|
|
59
86
|
this.commandLogger = new logging_1.CommandLogger(this.config.commandLog, this.logger);
|
|
60
87
|
}
|
|
61
|
-
// Utwórz JobProcessor z Redis connection dla Pub/Sub, compressionService i cancellationService
|
|
62
|
-
this.jobProcessor = new job_1.JobProcessor(this.commandHandlers, this.rpcRedisConnection, this.logger, this.jobOptionsBuilder, this.compressionService, this.commandLogger, this.cancellationService);
|
|
63
|
-
// Utwórz WorkerOrchestrator z własnym Redis connection
|
|
64
|
-
this.workerOrchestrator = new worker_1.WorkerOrchestrator(this.workerRedisConnection, this.jobProcessor, this.config.concurrency, this.config.maxAttempts, this.logger);
|
|
65
88
|
this.logger.debug('CommandBus gotowy do użycia', {
|
|
66
89
|
timestamp: new Date().toISOString(),
|
|
67
90
|
});
|
|
68
91
|
}
|
|
69
92
|
/**
|
|
70
|
-
* Wysyła komendę do
|
|
71
|
-
*
|
|
72
|
-
*
|
|
93
|
+
* Wysyła komendę do strumienia (fire-and-forget)
|
|
94
|
+
* XADD = 1 natywne polecenie Redis
|
|
95
|
+
*
|
|
73
96
|
* @param command - Komenda do wysłania
|
|
74
97
|
*/
|
|
75
98
|
dispatch(command) {
|
|
76
99
|
return __awaiter(this, void 0, void 0, function* () {
|
|
77
|
-
var _a;
|
|
78
100
|
const commandName = command.__name;
|
|
79
101
|
const commandId = command.__id;
|
|
80
102
|
const timestamp = new Date().toISOString();
|
|
@@ -83,141 +105,126 @@ class CommandBus {
|
|
|
83
105
|
commandId,
|
|
84
106
|
timestamp,
|
|
85
107
|
});
|
|
86
|
-
|
|
87
|
-
const
|
|
88
|
-
|
|
89
|
-
const job = yield queue.add(commandName, processedCommand, this.jobOptionsBuilder.buildStandardOptions());
|
|
90
|
-
this.logger.debug('Komenda dodana do kolejki', {
|
|
108
|
+
const data = this.serializer.serialize(command);
|
|
109
|
+
const messageId = yield this.transport.enqueue(`cmd:${commandName}`, data);
|
|
110
|
+
this.logger.debug('Komenda dodana do strumienia', {
|
|
91
111
|
commandName,
|
|
92
112
|
commandId,
|
|
93
|
-
|
|
94
|
-
compressed: processedCommand.__compressed,
|
|
95
|
-
queuePosition: ((_a = job.opts) === null || _a === void 0 ? void 0 : _a.delay) ? 'delayed' : 'active',
|
|
113
|
+
messageId,
|
|
96
114
|
timestamp,
|
|
97
115
|
});
|
|
98
116
|
});
|
|
99
117
|
}
|
|
118
|
+
/**
|
|
119
|
+
* Wysyła wiele komend naraz z użyciem pipelining
|
|
120
|
+
* DragonflyDB przetwarza pipeline równolegle na wielu wątkach
|
|
121
|
+
*
|
|
122
|
+
* @param commands - Tablica komend do wysłania
|
|
123
|
+
*/
|
|
124
|
+
dispatchBatch(commands) {
|
|
125
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
126
|
+
if (commands.length === 0)
|
|
127
|
+
return;
|
|
128
|
+
this.logger.debug('Wysyłanie batch komend', {
|
|
129
|
+
count: commands.length,
|
|
130
|
+
timestamp: new Date().toISOString(),
|
|
131
|
+
});
|
|
132
|
+
const entries = commands.map((cmd) => ({
|
|
133
|
+
streamName: `cmd:${cmd.__name}`,
|
|
134
|
+
data: this.serializer.serialize(cmd),
|
|
135
|
+
}));
|
|
136
|
+
yield this.transport.enqueueBatch(entries);
|
|
137
|
+
this.logger.debug('Batch komend wysłany', {
|
|
138
|
+
count: commands.length,
|
|
139
|
+
timestamp: new Date().toISOString(),
|
|
140
|
+
});
|
|
141
|
+
});
|
|
142
|
+
}
|
|
100
143
|
/**
|
|
101
144
|
* Rejestruje handler dla komendy
|
|
102
|
-
*
|
|
145
|
+
*
|
|
103
146
|
* @param commandDefinition - Definicja komendy (klasa)
|
|
104
147
|
* @param handler - Handler do obsługi komendy
|
|
105
148
|
*/
|
|
106
|
-
handle(
|
|
107
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
108
|
-
commandDefinition, handler) {
|
|
149
|
+
handle(commandDefinition, handler) {
|
|
109
150
|
const commandName = commandDefinition.name;
|
|
110
151
|
if (this.commandHandlers[commandName]) {
|
|
111
152
|
throw new Error(`Handler dla komendy ${commandName} już istnieje`);
|
|
112
153
|
}
|
|
113
154
|
this.commandHandlers[commandName] = handler;
|
|
114
|
-
|
|
155
|
+
// Zarejestruj konsumenta strumienia — śledź promise do graceful shutdown
|
|
156
|
+
const consumePromise = this.transport
|
|
157
|
+
.consume(`cmd:${commandName}`, 'workers', (data) => __awaiter(this, void 0, void 0, function* () {
|
|
158
|
+
const command = this.serializer.deserialize(data);
|
|
159
|
+
// Opcjonalne logowanie komendy
|
|
160
|
+
if (this.commandLogger) {
|
|
161
|
+
void this.commandLogger.logCommand(command);
|
|
162
|
+
}
|
|
163
|
+
return yield handler(command);
|
|
164
|
+
}))
|
|
165
|
+
.catch((error) => {
|
|
166
|
+
this.logger.error('Błąd konsumenta strumienia', {
|
|
167
|
+
commandName,
|
|
168
|
+
error: (0, error_utils_1.getErrorMessage)(error),
|
|
169
|
+
timestamp: new Date().toISOString(),
|
|
170
|
+
});
|
|
171
|
+
});
|
|
172
|
+
this.consumePromises.push(consumePromise);
|
|
115
173
|
this.logger.debug(`Zarejestrowano handler dla komendy ${commandName}`);
|
|
116
174
|
}
|
|
117
175
|
/**
|
|
118
176
|
* Synchroniczne wywołanie komendy z oczekiwaniem na wynik (RPC)
|
|
119
|
-
* Request przez
|
|
120
|
-
* Automatycznie kompresuje dane jeśli przekraczają threshold
|
|
177
|
+
* Request przez Redis Streams, odpowiedź przez LPUSH/BRPOP
|
|
121
178
|
*
|
|
122
|
-
* Flow
|
|
123
|
-
* 1.
|
|
124
|
-
* 2.
|
|
125
|
-
* 3.
|
|
126
|
-
* 4.
|
|
179
|
+
* Flow (4 komendy Redis):
|
|
180
|
+
* 1. XADD — komenda z metadanymi RPC do strumienia
|
|
181
|
+
* 2. BRPOP — czekaj na odpowiedź na dedykowanym połączeniu
|
|
182
|
+
* 3. Worker: LPUSH — odpowiedź na klucz
|
|
183
|
+
* 4. DEL — cleanup klucza (TTL safety net)
|
|
127
184
|
*
|
|
128
185
|
* @param command - Komenda do wykonania
|
|
129
186
|
* @param timeout - Timeout w milisekundach (domyślnie 30s)
|
|
130
187
|
*/
|
|
131
188
|
call(command_1) {
|
|
132
189
|
return __awaiter(this, arguments, void 0, function* (command, timeout = 30000) {
|
|
133
|
-
var _a, _b;
|
|
134
190
|
const commandName = command.__name;
|
|
135
191
|
const correlationId = command.__id;
|
|
136
192
|
const timestamp = new Date().toISOString();
|
|
137
|
-
this.logger.debug('Rozpoczynam wywołanie RPC
|
|
193
|
+
this.logger.debug('Rozpoczynam wywołanie RPC', {
|
|
138
194
|
commandName,
|
|
139
195
|
commandId: correlationId,
|
|
140
196
|
timeout: `${timeout}ms`,
|
|
141
197
|
timestamp,
|
|
142
198
|
});
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
const commandWithMetadata = this.rpcCoordinator.prepareRpcCommand(compressedCommand);
|
|
152
|
-
const job = yield queue.add(commandName, commandWithMetadata, this.jobOptionsBuilder.buildStandardOptions());
|
|
153
|
-
this.logger.debug('Komenda RPC dodana do kolejki', {
|
|
199
|
+
const data = this.serializer.serialize(command);
|
|
200
|
+
const resultBuffer = yield this.transport.rpcCall(commandName, data, timeout);
|
|
201
|
+
// Deserializuj odpowiedź RPC
|
|
202
|
+
const response = this.serializer.deserialize(resultBuffer);
|
|
203
|
+
if (response.error) {
|
|
204
|
+
throw new Error(response.error);
|
|
205
|
+
}
|
|
206
|
+
this.logger.debug('Otrzymano odpowiedź RPC', {
|
|
154
207
|
commandName,
|
|
155
208
|
commandId: correlationId,
|
|
156
|
-
|
|
157
|
-
compressed: compressedCommand.__compressed,
|
|
158
|
-
responseChannel: (_a = commandWithMetadata.__rpcMetadata) === null || _a === void 0 ? void 0 : _a.responseChannel,
|
|
159
|
-
queuePosition: ((_b = job.opts) === null || _b === void 0 ? void 0 : _b.delay) ? 'delayed' : 'active',
|
|
160
|
-
timestamp,
|
|
209
|
+
timestamp: new Date().toISOString(),
|
|
161
210
|
});
|
|
162
|
-
|
|
163
|
-
if (job.id) {
|
|
164
|
-
this.rpcCoordinator.setJobId(correlationId, job.id, commandName);
|
|
165
|
-
}
|
|
166
|
-
// Krok 5: Zwróć responsePromise - zostanie resolved gdy worker wyśle odpowiedź przez Pub/Sub
|
|
167
|
-
return promise;
|
|
168
|
-
});
|
|
169
|
-
}
|
|
170
|
-
/**
|
|
171
|
-
* Tworzy callback do usuwania jobów z kolejki
|
|
172
|
-
* Callback jest przekazywany do RpcCoordinator dla możliwości usunięcia joba przy timeout
|
|
173
|
-
* Nie rzuca wyjątków - zwraca boolean sukcesu
|
|
174
|
-
*/
|
|
175
|
-
createRemoveJobCallback() {
|
|
176
|
-
return (queueName, jobId) => __awaiter(this, void 0, void 0, function* () {
|
|
177
|
-
try {
|
|
178
|
-
const queue = this.queueManager.getOrCreateQueue(queueName);
|
|
179
|
-
const job = yield queue.getJob(jobId);
|
|
180
|
-
if (job) {
|
|
181
|
-
yield job.remove();
|
|
182
|
-
this.logger.debug('Job usunięty z kolejki (RPC timeout)', {
|
|
183
|
-
queueName,
|
|
184
|
-
jobId,
|
|
185
|
-
timestamp: new Date().toISOString(),
|
|
186
|
-
});
|
|
187
|
-
return true;
|
|
188
|
-
}
|
|
189
|
-
return false;
|
|
190
|
-
}
|
|
191
|
-
catch (error) {
|
|
192
|
-
this.logger.debug('Nie udało się usunąć joba z kolejki (prawdopodobnie już przetwarzany)', {
|
|
193
|
-
queueName,
|
|
194
|
-
jobId,
|
|
195
|
-
error: error instanceof Error ? error.message : String(error),
|
|
196
|
-
timestamp: new Date().toISOString(),
|
|
197
|
-
});
|
|
198
|
-
return false;
|
|
199
|
-
}
|
|
211
|
+
return response.result;
|
|
200
212
|
});
|
|
201
213
|
}
|
|
202
214
|
/**
|
|
203
215
|
* Zamyka wszystkie połączenia
|
|
204
|
-
* Czyści cache kolejek dla optymalizacji pamięci
|
|
205
216
|
*/
|
|
206
217
|
close() {
|
|
207
218
|
return __awaiter(this, void 0, void 0, function* () {
|
|
208
219
|
this.logger.debug('Zamykanie połączeń CommandBus', {
|
|
209
220
|
timestamp: new Date().toISOString(),
|
|
210
221
|
});
|
|
211
|
-
//
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
yield this.
|
|
217
|
-
// Zamknij pozostałe Redis connections
|
|
218
|
-
yield this.queueRedisConnection.quit();
|
|
219
|
-
yield this.workerRedisConnection.quit();
|
|
220
|
-
yield this.rpcRedisConnection.quit();
|
|
222
|
+
// Czekaj na zakończenie rejestracji konsumentów
|
|
223
|
+
if (this.consumePromises.length > 0) {
|
|
224
|
+
yield Promise.allSettled(this.consumePromises);
|
|
225
|
+
this.consumePromises.length = 0;
|
|
226
|
+
}
|
|
227
|
+
yield this.transport.close();
|
|
221
228
|
});
|
|
222
229
|
}
|
|
223
230
|
}
|
|
@@ -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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"}
|
|
@@ -7,6 +7,8 @@ import type Command from '../command';
|
|
|
7
7
|
export default class CommandLogger {
|
|
8
8
|
private readonly logDirectory;
|
|
9
9
|
private readonly logger;
|
|
10
|
+
/** Flaga — czy katalog logów został utworzony/zweryfikowany */
|
|
11
|
+
private directoryEnsured;
|
|
10
12
|
/**
|
|
11
13
|
* Konstruktor CommandLogger
|
|
12
14
|
* @param logDirectory - Ścieżka do katalogu logów
|
|
@@ -57,6 +57,8 @@ class CommandLogger {
|
|
|
57
57
|
constructor(logDirectory, logger) {
|
|
58
58
|
this.logDirectory = logDirectory;
|
|
59
59
|
this.logger = logger;
|
|
60
|
+
/** Flaga — czy katalog logów został utworzony/zweryfikowany */
|
|
61
|
+
this.directoryEnsured = false;
|
|
60
62
|
}
|
|
61
63
|
/**
|
|
62
64
|
* Zapisuje komendę do pliku logu w formacie JSONL
|
|
@@ -65,6 +67,11 @@ class CommandLogger {
|
|
|
65
67
|
logCommand(command) {
|
|
66
68
|
return __awaiter(this, void 0, void 0, function* () {
|
|
67
69
|
try {
|
|
70
|
+
// H5: Upewnij się, że katalog logów istnieje — zapobiega ENOENT na appendFile
|
|
71
|
+
if (!this.directoryEnsured) {
|
|
72
|
+
yield fs.mkdir(this.logDirectory, { recursive: true });
|
|
73
|
+
this.directoryEnsured = true;
|
|
74
|
+
}
|
|
68
75
|
const date = new Date().toISOString().split('T')[0];
|
|
69
76
|
const fileName = path.join(this.logDirectory, `commandbus_${date}.jsonl`);
|
|
70
77
|
yield fs.appendFile(fileName, JSON.stringify(command) + '\n');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-logger.js","sourceRoot":"","sources":["../../../src/command-bus/logging/command-logger.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAAkC;AAClC,2CAA6B;AAI7B;;;GAGG;AACH,MAAqB,aAAa;
|
|
1
|
+
{"version":3,"file":"command-logger.js","sourceRoot":"","sources":["../../../src/command-bus/logging/command-logger.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAAkC;AAClC,2CAA6B;AAI7B;;;GAGG;AACH,MAAqB,aAAa;IAIhC;;;;OAIG;IACH,YACmB,YAAoB,EACpB,MAAe;QADf,iBAAY,GAAZ,YAAY,CAAQ;QACpB,WAAM,GAAN,MAAM,CAAS;QAVlC,+DAA+D;QACvD,qBAAgB,GAAG,KAAK,CAAC;IAU9B,CAAC;IAEJ;;;OAGG;IACU,UAAU,CAAC,OAAgB;;YACtC,IAAI,CAAC;gBACH,8EAA8E;gBAC9E,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;oBAC3B,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;oBACvD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;gBAC/B,CAAC;gBAED,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBACpD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,cAAc,IAAI,QAAQ,CAAC,CAAC;gBAC1E,MAAM,EAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;YAChE,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,wCAAwC,EAAE,KAAK,CAAC,CAAC;YACrE,CAAC;QACH,CAAC;KAAA;CACF;AAjCD,gCAiCC"}
|
|
@@ -53,9 +53,8 @@ const command_1 = __importDefault(require("../command"));
|
|
|
53
53
|
jest.mock('fs/promises');
|
|
54
54
|
// Przykładowa komenda testowa
|
|
55
55
|
class TestCommand extends command_1.default {
|
|
56
|
-
constructor(
|
|
57
|
-
super();
|
|
58
|
-
this.data = data;
|
|
56
|
+
constructor(payload) {
|
|
57
|
+
super(payload);
|
|
59
58
|
}
|
|
60
59
|
}
|
|
61
60
|
describe('CommandLogger', () => {
|
|
@@ -81,7 +80,7 @@ describe('CommandLogger', () => {
|
|
|
81
80
|
DateMock.now = jest.fn(() => mockDate.getTime());
|
|
82
81
|
Object.setPrototypeOf(DateMock, originalDate);
|
|
83
82
|
global.Date = DateMock;
|
|
84
|
-
const command = new TestCommand('test data');
|
|
83
|
+
const command = new TestCommand({ data: 'test data' });
|
|
85
84
|
const expectedFileName = path.join(testLogDirectory, 'commandbus_2025-10-01.jsonl');
|
|
86
85
|
const expectedContent = JSON.stringify(command) + '\n';
|
|
87
86
|
// When
|
|
@@ -99,8 +98,8 @@ describe('CommandLogger', () => {
|
|
|
99
98
|
DateMock.now = jest.fn(() => mockDate.getTime());
|
|
100
99
|
Object.setPrototypeOf(DateMock, originalDate);
|
|
101
100
|
global.Date = DateMock;
|
|
102
|
-
const command1 = new TestCommand('first');
|
|
103
|
-
const command2 = new TestCommand('second');
|
|
101
|
+
const command1 = new TestCommand({ data: 'first' });
|
|
102
|
+
const command2 = new TestCommand({ data: 'second' });
|
|
104
103
|
const expectedFileName = path.join(testLogDirectory, 'commandbus_2025-10-01.jsonl');
|
|
105
104
|
// When
|
|
106
105
|
yield commandLogger.logCommand(command1);
|
|
@@ -122,7 +121,7 @@ describe('CommandLogger', () => {
|
|
|
122
121
|
DateMock1.now = jest.fn(() => date1.getTime());
|
|
123
122
|
Object.setPrototypeOf(DateMock1, originalDate);
|
|
124
123
|
global.Date = DateMock1;
|
|
125
|
-
const command1 = new TestCommand('day1');
|
|
124
|
+
const command1 = new TestCommand({ data: 'day1' });
|
|
126
125
|
// When - dzień 1
|
|
127
126
|
yield commandLogger.logCommand(command1);
|
|
128
127
|
// Dzień 2 - setup
|
|
@@ -130,7 +129,7 @@ describe('CommandLogger', () => {
|
|
|
130
129
|
DateMock2.now = jest.fn(() => date2.getTime());
|
|
131
130
|
Object.setPrototypeOf(DateMock2, originalDate);
|
|
132
131
|
global.Date = DateMock2;
|
|
133
|
-
const command2 = new TestCommand('day2');
|
|
132
|
+
const command2 = new TestCommand({ data: 'day2' });
|
|
134
133
|
// When - dzień 2
|
|
135
134
|
yield commandLogger.logCommand(command2);
|
|
136
135
|
// Then
|
|
@@ -151,7 +150,7 @@ describe('CommandLogger', () => {
|
|
|
151
150
|
DateMock.now = jest.fn(() => mockDate.getTime());
|
|
152
151
|
Object.setPrototypeOf(DateMock, originalDate);
|
|
153
152
|
global.Date = DateMock;
|
|
154
|
-
const command = new TestCommand('test');
|
|
153
|
+
const command = new TestCommand({ data: 'test' });
|
|
155
154
|
// When
|
|
156
155
|
yield commandLogger.logCommand(command);
|
|
157
156
|
// Then
|
|
@@ -167,8 +166,8 @@ describe('CommandLogger', () => {
|
|
|
167
166
|
DateMock.now = jest.fn(() => mockDate.getTime());
|
|
168
167
|
Object.setPrototypeOf(DateMock, originalDate);
|
|
169
168
|
global.Date = DateMock;
|
|
170
|
-
const command1 = new TestCommand('first');
|
|
171
|
-
const command2 = new TestCommand('second');
|
|
169
|
+
const command1 = new TestCommand({ data: 'first' });
|
|
170
|
+
const command2 = new TestCommand({ data: 'second' });
|
|
172
171
|
fs.appendFile
|
|
173
172
|
.mockRejectedValueOnce(new Error('Failed'))
|
|
174
173
|
.mockResolvedValueOnce(undefined);
|
|
@@ -189,7 +188,7 @@ describe('CommandLogger', () => {
|
|
|
189
188
|
DateMock.now = jest.fn(() => mockDate.getTime());
|
|
190
189
|
Object.setPrototypeOf(DateMock, originalDate);
|
|
191
190
|
global.Date = DateMock;
|
|
192
|
-
const command = new TestCommand('complex\ndata\nwith\nnewlines');
|
|
191
|
+
const command = new TestCommand({ data: 'complex\ndata\nwith\nnewlines' });
|
|
193
192
|
// When
|
|
194
193
|
yield commandLogger.logCommand(command);
|
|
195
194
|
// Then
|
|
@@ -211,7 +210,7 @@ describe('CommandLogger', () => {
|
|
|
211
210
|
DateMock.now = jest.fn(() => mockDate.getTime());
|
|
212
211
|
Object.setPrototypeOf(DateMock, originalDate);
|
|
213
212
|
global.Date = DateMock;
|
|
214
|
-
const command = new TestCommand('test data');
|
|
213
|
+
const command = new TestCommand({ data: 'test data' });
|
|
215
214
|
const commandId = command.__id;
|
|
216
215
|
const commandName = command.__name;
|
|
217
216
|
// When
|
|
@@ -222,7 +221,43 @@ describe('CommandLogger', () => {
|
|
|
222
221
|
const parsed = JSON.parse(writtenContent.trim());
|
|
223
222
|
expect(parsed.__id).toBe(commandId);
|
|
224
223
|
expect(parsed.__name).toBe(commandName);
|
|
225
|
-
expect(parsed.data).toBe('test data');
|
|
224
|
+
expect(parsed.__payload.data).toBe('test data');
|
|
225
|
+
// Cleanup
|
|
226
|
+
global.Date = originalDate;
|
|
227
|
+
}));
|
|
228
|
+
});
|
|
229
|
+
describe('mkdir recursive (H5)', () => {
|
|
230
|
+
it('powinien utworzyć katalog logowania jeśli nie istnieje', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
231
|
+
// Given
|
|
232
|
+
const mockDate = new Date('2025-10-01T12:00:00.000Z');
|
|
233
|
+
const originalDate = global.Date;
|
|
234
|
+
const DateMock = jest.fn(() => mockDate);
|
|
235
|
+
DateMock.now = jest.fn(() => mockDate.getTime());
|
|
236
|
+
Object.setPrototypeOf(DateMock, originalDate);
|
|
237
|
+
global.Date = DateMock;
|
|
238
|
+
const command = new TestCommand({ data: 'test' });
|
|
239
|
+
// When
|
|
240
|
+
yield commandLogger.logCommand(command);
|
|
241
|
+
// Then — mkdir powinien być wywołany z recursive: true
|
|
242
|
+
expect(fs.mkdir).toHaveBeenCalledWith(testLogDirectory, { recursive: true });
|
|
243
|
+
// Cleanup
|
|
244
|
+
global.Date = originalDate;
|
|
245
|
+
}));
|
|
246
|
+
it('powinien wywołać mkdir tylko raz (directoryEnsured cache)', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
247
|
+
// Given
|
|
248
|
+
const mockDate = new Date('2025-10-01T12:00:00.000Z');
|
|
249
|
+
const originalDate = global.Date;
|
|
250
|
+
const DateMock = jest.fn(() => mockDate);
|
|
251
|
+
DateMock.now = jest.fn(() => mockDate.getTime());
|
|
252
|
+
Object.setPrototypeOf(DateMock, originalDate);
|
|
253
|
+
global.Date = DateMock;
|
|
254
|
+
const command1 = new TestCommand({ data: 'first' });
|
|
255
|
+
const command2 = new TestCommand({ data: 'second' });
|
|
256
|
+
// When
|
|
257
|
+
yield commandLogger.logCommand(command1);
|
|
258
|
+
yield commandLogger.logCommand(command2);
|
|
259
|
+
// Then — mkdir powinien być wywołany tylko RAZ
|
|
260
|
+
expect(fs.mkdir).toHaveBeenCalledTimes(1);
|
|
226
261
|
// Cleanup
|
|
227
262
|
global.Date = originalDate;
|
|
228
263
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-logger.spec.js","sourceRoot":"","sources":["../../../src/command-bus/logging/command-logger.spec.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"command-logger.spec.js","sourceRoot":"","sources":["../../../src/command-bus/logging/command-logger.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.MsgpackSerializer = void 0;
|
|
7
|
+
var msgpack_serializer_1 = require("./msgpack-serializer");
|
|
8
|
+
Object.defineProperty(exports, "MsgpackSerializer", { enumerable: true, get: function () { return __importDefault(msgpack_serializer_1).default; } });
|
|
9
|
+
//# sourceMappingURL=index.js.map
|