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
|
@@ -1,156 +0,0 @@
|
|
|
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
|
-
const job_options_builder_1 = __importDefault(require("./job-options-builder"));
|
|
7
|
-
const command_bus_config_1 = __importDefault(require("../config/command-bus-config"));
|
|
8
|
-
describe('JobOptionsBuilder', () => {
|
|
9
|
-
describe('buildStandardOptions', () => {
|
|
10
|
-
it('powinien zwrócić standardowe opcje z domyślną konfiguracją', () => {
|
|
11
|
-
const config = new command_bus_config_1.default({
|
|
12
|
-
redisUrl: 'redis://localhost:6379',
|
|
13
|
-
maxAttempts: 1,
|
|
14
|
-
backoffDelay: 2000,
|
|
15
|
-
queueMode: 'fifo',
|
|
16
|
-
});
|
|
17
|
-
const builder = new job_options_builder_1.default(config);
|
|
18
|
-
const options = builder.buildStandardOptions();
|
|
19
|
-
expect(options).toEqual({
|
|
20
|
-
removeOnComplete: {
|
|
21
|
-
count: 100,
|
|
22
|
-
age: 60, // Memory optimization: 60s
|
|
23
|
-
},
|
|
24
|
-
removeOnFail: {
|
|
25
|
-
count: 500, // Memory optimization: więcej dla debugging
|
|
26
|
-
age: 3600, // Memory optimization: 1h
|
|
27
|
-
},
|
|
28
|
-
attempts: 1,
|
|
29
|
-
backoff: {
|
|
30
|
-
type: 'exponential',
|
|
31
|
-
delay: 2000,
|
|
32
|
-
},
|
|
33
|
-
lifo: false,
|
|
34
|
-
});
|
|
35
|
-
});
|
|
36
|
-
it('powinien zwrócić opcje z LIFO gdy queueMode = "lifo"', () => {
|
|
37
|
-
const config = new command_bus_config_1.default({
|
|
38
|
-
redisUrl: 'redis://localhost:6379',
|
|
39
|
-
maxAttempts: 5,
|
|
40
|
-
backoffDelay: 1000,
|
|
41
|
-
queueMode: 'lifo',
|
|
42
|
-
});
|
|
43
|
-
const builder = new job_options_builder_1.default(config);
|
|
44
|
-
const options = builder.buildStandardOptions();
|
|
45
|
-
expect(options.lifo).toBe(true);
|
|
46
|
-
expect(options.attempts).toBe(5);
|
|
47
|
-
expect(options.backoff.delay).toBe(1000);
|
|
48
|
-
});
|
|
49
|
-
it('powinien używać wartości z konfiguracji dla attempts i backoff', () => {
|
|
50
|
-
const config = new command_bus_config_1.default({
|
|
51
|
-
redisUrl: 'redis://localhost:6379',
|
|
52
|
-
maxAttempts: 10,
|
|
53
|
-
backoffDelay: 5000,
|
|
54
|
-
queueMode: 'fifo',
|
|
55
|
-
});
|
|
56
|
-
const builder = new job_options_builder_1.default(config);
|
|
57
|
-
const options = builder.buildStandardOptions();
|
|
58
|
-
expect(options.attempts).toBe(10);
|
|
59
|
-
expect(options.backoff).toEqual({
|
|
60
|
-
type: 'exponential',
|
|
61
|
-
delay: 5000,
|
|
62
|
-
});
|
|
63
|
-
});
|
|
64
|
-
});
|
|
65
|
-
describe('buildRpcReplyOptions', () => {
|
|
66
|
-
it('powinien zwrócić opcje RPC reply z domyślnym TTL', () => {
|
|
67
|
-
const config = new command_bus_config_1.default({
|
|
68
|
-
redisUrl: 'redis://localhost:6379',
|
|
69
|
-
maxAttempts: 1,
|
|
70
|
-
backoffDelay: 2000,
|
|
71
|
-
});
|
|
72
|
-
const builder = new job_options_builder_1.default(config);
|
|
73
|
-
const options = builder.buildRpcReplyOptions();
|
|
74
|
-
expect(options).toEqual({
|
|
75
|
-
removeOnComplete: {
|
|
76
|
-
age: 30, // Memory optimization: agresywne usuwanie reply jobs
|
|
77
|
-
count: 10, // Memory optimization: tylko ostatnie 10
|
|
78
|
-
},
|
|
79
|
-
removeOnFail: {
|
|
80
|
-
age: 300, // Memory optimization: 5 minut
|
|
81
|
-
count: 50, // Memory optimization: mniej failed jobs
|
|
82
|
-
},
|
|
83
|
-
attempts: 1,
|
|
84
|
-
backoff: {
|
|
85
|
-
type: 'exponential',
|
|
86
|
-
delay: 2000,
|
|
87
|
-
},
|
|
88
|
-
lifo: false,
|
|
89
|
-
});
|
|
90
|
-
});
|
|
91
|
-
it('powinien używać stałego czasu usuwania dla memory optimization', () => {
|
|
92
|
-
const config = new command_bus_config_1.default({
|
|
93
|
-
redisUrl: 'redis://localhost:6379',
|
|
94
|
-
maxAttempts: 5,
|
|
95
|
-
backoffDelay: 1000,
|
|
96
|
-
});
|
|
97
|
-
const builder = new job_options_builder_1.default(config);
|
|
98
|
-
const options = builder.buildRpcReplyOptions();
|
|
99
|
-
// Memory optimization: zawsze używamy 30s dla agresywnego cleanup
|
|
100
|
-
expect(options.removeOnComplete).toEqual({
|
|
101
|
-
age: 30, // Memory optimization: stałe 30s niezależnie od config
|
|
102
|
-
count: 10, // Memory optimization: tylko ostatnie 10
|
|
103
|
-
});
|
|
104
|
-
});
|
|
105
|
-
it('powinien zawsze zwracać lifo = false dla RPC reply', () => {
|
|
106
|
-
const config = new command_bus_config_1.default({
|
|
107
|
-
redisUrl: 'redis://localhost:6379',
|
|
108
|
-
queueMode: 'lifo', // LIFO dla standardowych jobów
|
|
109
|
-
});
|
|
110
|
-
const builder = new job_options_builder_1.default(config);
|
|
111
|
-
const options = builder.buildRpcReplyOptions();
|
|
112
|
-
// RPC reply zawsze używa FIFO (lifo = false)
|
|
113
|
-
expect(options.lifo).toBe(false);
|
|
114
|
-
});
|
|
115
|
-
it('powinien używać wartości z konfiguracji dla attempts i backoff', () => {
|
|
116
|
-
const config = new command_bus_config_1.default({
|
|
117
|
-
redisUrl: 'redis://localhost:6379',
|
|
118
|
-
maxAttempts: 7,
|
|
119
|
-
backoffDelay: 3000,
|
|
120
|
-
});
|
|
121
|
-
const builder = new job_options_builder_1.default(config);
|
|
122
|
-
const options = builder.buildRpcReplyOptions();
|
|
123
|
-
expect(options.attempts).toBe(7);
|
|
124
|
-
expect(options.backoff).toEqual({
|
|
125
|
-
type: 'exponential',
|
|
126
|
-
delay: 3000,
|
|
127
|
-
});
|
|
128
|
-
});
|
|
129
|
-
});
|
|
130
|
-
describe('edge cases', () => {
|
|
131
|
-
it('powinien działać z minimalną konfiguracją', () => {
|
|
132
|
-
const config = new command_bus_config_1.default({
|
|
133
|
-
redisUrl: 'redis://localhost:6379',
|
|
134
|
-
});
|
|
135
|
-
const builder = new job_options_builder_1.default(config);
|
|
136
|
-
const standardOptions = builder.buildStandardOptions();
|
|
137
|
-
const rpcOptions = builder.buildRpcReplyOptions();
|
|
138
|
-
expect(standardOptions.attempts).toBeGreaterThanOrEqual(1);
|
|
139
|
-
expect(standardOptions.backoff.delay).toBeGreaterThanOrEqual(100);
|
|
140
|
-
expect(rpcOptions.attempts).toBeGreaterThanOrEqual(1);
|
|
141
|
-
});
|
|
142
|
-
it('powinien używać stałego TTL dla memory optimization', () => {
|
|
143
|
-
const config = new command_bus_config_1.default({
|
|
144
|
-
redisUrl: 'redis://localhost:6379',
|
|
145
|
-
});
|
|
146
|
-
const builder = new job_options_builder_1.default(config);
|
|
147
|
-
const options = builder.buildRpcReplyOptions();
|
|
148
|
-
// Memory optimization: zawsze używamy stałego 30s niezależnie od config
|
|
149
|
-
expect(options.removeOnComplete).toEqual({
|
|
150
|
-
age: 30, // Memory optimization: stałe 30s
|
|
151
|
-
count: 10, // Memory optimization: tylko ostatnie 10
|
|
152
|
-
});
|
|
153
|
-
});
|
|
154
|
-
});
|
|
155
|
-
});
|
|
156
|
-
//# sourceMappingURL=job-options-builder.spec.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"job-options-builder.spec.js","sourceRoot":"","sources":["../../../src/command-bus/job/job-options-builder.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import type { Job } from 'bullmq';
|
|
2
|
-
import type { Redis } from 'ioredis';
|
|
3
|
-
import type { TDict, ILogger } from '../../shared/types';
|
|
4
|
-
import type JobOptionsBuilder from './job-options-builder';
|
|
5
|
-
import type CommandLogger from '../logging/command-logger';
|
|
6
|
-
import type PayloadCompressionService from '../rpc/payload-compression.service';
|
|
7
|
-
import type RpcJobCancellationService from '../rpc/rpc-job-cancellation.service';
|
|
8
|
-
/**
|
|
9
|
-
* Przetwarza joby z kolejek BullMQ
|
|
10
|
-
* Odpowiada za wykonanie handlerów komend i obsługę odpowiedzi RPC przez Redis Pub/Sub
|
|
11
|
-
*/
|
|
12
|
-
export default class JobProcessor {
|
|
13
|
-
private readonly commandHandlers;
|
|
14
|
-
private readonly redisConnection;
|
|
15
|
-
private readonly logger;
|
|
16
|
-
private readonly jobOptionsBuilder;
|
|
17
|
-
private readonly compressionService;
|
|
18
|
-
private readonly commandLogger?;
|
|
19
|
-
private readonly cancellationService?;
|
|
20
|
-
constructor(commandHandlers: TDict<(command: any) => unknown | Promise<unknown>>, redisConnection: Redis, logger: ILogger, jobOptionsBuilder: JobOptionsBuilder, compressionService: PayloadCompressionService, commandLogger?: CommandLogger | undefined, cancellationService?: RpcJobCancellationService | undefined);
|
|
21
|
-
/**
|
|
22
|
-
* Przetwarza job z kolejki
|
|
23
|
-
* Automatycznie dekompresuje dane jeśli są skompresowane
|
|
24
|
-
* @param job - Job do przetworzenia
|
|
25
|
-
* @param commandName - Nazwa komendy
|
|
26
|
-
*/
|
|
27
|
-
process(job: Job, commandName: string): Promise<unknown>;
|
|
28
|
-
/**
|
|
29
|
-
* Wysyła odpowiedź RPC do nadawcy przez Redis Pub/Sub z kompresją gzip
|
|
30
|
-
* Publikuje na dedykowanym kanale dla tego wywołania RPC
|
|
31
|
-
* Wrapper zawiera metadane kompresji dla klienta
|
|
32
|
-
*/
|
|
33
|
-
private sendRpcResponse;
|
|
34
|
-
/**
|
|
35
|
-
* Wysyła błąd RPC do nadawcy przez Redis Pub/Sub
|
|
36
|
-
* Publikuje na dedykowanym kanale dla tego wywołania RPC
|
|
37
|
-
*/
|
|
38
|
-
private sendRpcError;
|
|
39
|
-
}
|
|
@@ -1,203 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
-
};
|
|
14
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
const command_1 = __importDefault(require("../command"));
|
|
16
|
-
/**
|
|
17
|
-
* Przetwarza joby z kolejek BullMQ
|
|
18
|
-
* Odpowiada za wykonanie handlerów komend i obsługę odpowiedzi RPC przez Redis Pub/Sub
|
|
19
|
-
*/
|
|
20
|
-
class JobProcessor {
|
|
21
|
-
constructor(
|
|
22
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
23
|
-
commandHandlers, redisConnection, logger, jobOptionsBuilder, compressionService, commandLogger, cancellationService) {
|
|
24
|
-
this.commandHandlers = commandHandlers;
|
|
25
|
-
this.redisConnection = redisConnection;
|
|
26
|
-
this.logger = logger;
|
|
27
|
-
this.jobOptionsBuilder = jobOptionsBuilder;
|
|
28
|
-
this.compressionService = compressionService;
|
|
29
|
-
this.commandLogger = commandLogger;
|
|
30
|
-
this.cancellationService = cancellationService;
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* Przetwarza job z kolejki
|
|
34
|
-
* Automatycznie dekompresuje dane jeśli są skompresowane
|
|
35
|
-
* @param job - Job do przetworzenia
|
|
36
|
-
* @param commandName - Nazwa komendy
|
|
37
|
-
*/
|
|
38
|
-
process(job, commandName) {
|
|
39
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
40
|
-
var _a, _b;
|
|
41
|
-
let command = job.data;
|
|
42
|
-
const rpcMetadata = job.data.__rpcMetadata;
|
|
43
|
-
const startTime = Date.now();
|
|
44
|
-
// Sprawdź czy dane są skompresowane
|
|
45
|
-
const isCompressed = !!job.data.__compressed;
|
|
46
|
-
this.logger.debug('Rozpoczynam przetwarzanie komendy', {
|
|
47
|
-
commandName,
|
|
48
|
-
commandId: command.__id,
|
|
49
|
-
jobId: job.id,
|
|
50
|
-
attempt: job.attemptsMade + 1,
|
|
51
|
-
maxAttempts: (_a = job.opts) === null || _a === void 0 ? void 0 : _a.attempts,
|
|
52
|
-
isRpc: !!rpcMetadata,
|
|
53
|
-
isCompressed,
|
|
54
|
-
responseChannel: rpcMetadata === null || rpcMetadata === void 0 ? void 0 : rpcMetadata.responseChannel,
|
|
55
|
-
timestamp: new Date().toISOString(),
|
|
56
|
-
});
|
|
57
|
-
try {
|
|
58
|
-
// Dekompresuj dane jeśli są skompresowane
|
|
59
|
-
if (isCompressed) {
|
|
60
|
-
command = yield this.compressionService.decompressCommand(command);
|
|
61
|
-
this.logger.debug('Komenda zdekompresowana przed przetwarzaniem', {
|
|
62
|
-
commandName,
|
|
63
|
-
commandId: command.__id,
|
|
64
|
-
jobId: job.id,
|
|
65
|
-
timestamp: new Date().toISOString(),
|
|
66
|
-
});
|
|
67
|
-
}
|
|
68
|
-
// Sprawdź czy RPC zostało anulowane (tylko dla RPC jobs)
|
|
69
|
-
if ((rpcMetadata === null || rpcMetadata === void 0 ? void 0 : rpcMetadata.correlationId) && this.cancellationService) {
|
|
70
|
-
const isCancelled = yield this.cancellationService.isCancelled(rpcMetadata.correlationId);
|
|
71
|
-
if (isCancelled) {
|
|
72
|
-
this.logger.warn('Pomijam przetwarzanie - RPC zostało anulowane (timeout)', {
|
|
73
|
-
commandName,
|
|
74
|
-
correlationId: rpcMetadata.correlationId,
|
|
75
|
-
jobId: job.id,
|
|
76
|
-
timestamp: new Date().toISOString(),
|
|
77
|
-
});
|
|
78
|
-
// Wyczyść flagę cancellation (optymalizacja - nie jest konieczne, TTL i tak wygaśnie)
|
|
79
|
-
yield this.cancellationService.clearCancellation(rpcMetadata.correlationId);
|
|
80
|
-
return; // Nie wykonuj handlera, nie wysyłaj odpowiedzi
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
// Przywróć obiekty Date z serializowanych danych
|
|
84
|
-
command = command_1.default.reconstructDates(command);
|
|
85
|
-
// Opcjonalne logowanie komendy
|
|
86
|
-
if (this.commandLogger) {
|
|
87
|
-
yield this.commandLogger.logCommand(command);
|
|
88
|
-
}
|
|
89
|
-
const handler = this.commandHandlers[commandName];
|
|
90
|
-
if (!handler) {
|
|
91
|
-
this.logger.error('Brak handlera dla komendy', {
|
|
92
|
-
commandName,
|
|
93
|
-
commandId: command.__id,
|
|
94
|
-
jobId: job.id,
|
|
95
|
-
});
|
|
96
|
-
throw new Error(`Brak handlera dla komendy ${commandName}`);
|
|
97
|
-
}
|
|
98
|
-
this.logger.debug('Wywołuję handler komendy', {
|
|
99
|
-
commandName,
|
|
100
|
-
commandId: command.__id,
|
|
101
|
-
jobId: job.id,
|
|
102
|
-
timestamp: new Date().toISOString(),
|
|
103
|
-
});
|
|
104
|
-
// Zwróć wartość z handlera
|
|
105
|
-
const result = yield handler(command);
|
|
106
|
-
const duration = Date.now() - startTime;
|
|
107
|
-
this.logger.log('Handler komendy wykonany pomyślnie', {
|
|
108
|
-
commandName,
|
|
109
|
-
commandId: command.__id,
|
|
110
|
-
jobId: job.id,
|
|
111
|
-
duration: `${duration}ms`,
|
|
112
|
-
hasResult: result !== undefined,
|
|
113
|
-
timestamp: new Date().toISOString(),
|
|
114
|
-
});
|
|
115
|
-
// Jeśli to RPC, odeślij odpowiedź przez Redis Pub/Sub
|
|
116
|
-
if (rpcMetadata === null || rpcMetadata === void 0 ? void 0 : rpcMetadata.responseChannel) {
|
|
117
|
-
yield this.sendRpcResponse(rpcMetadata, result, null, commandName);
|
|
118
|
-
}
|
|
119
|
-
return result;
|
|
120
|
-
}
|
|
121
|
-
catch (error) {
|
|
122
|
-
const duration = Date.now() - startTime;
|
|
123
|
-
this.logger.error('Błąd podczas wykonywania handlera komendy', {
|
|
124
|
-
commandName,
|
|
125
|
-
commandId: command.__id,
|
|
126
|
-
jobId: job.id,
|
|
127
|
-
error: error instanceof Error ? error.message : String(error),
|
|
128
|
-
duration: `${duration}ms`,
|
|
129
|
-
attempt: job.attemptsMade + 1,
|
|
130
|
-
maxAttempts: (_b = job.opts) === null || _b === void 0 ? void 0 : _b.attempts,
|
|
131
|
-
timestamp: new Date().toISOString(),
|
|
132
|
-
});
|
|
133
|
-
// Jeśli to RPC, odeślij błąd przez Redis Pub/Sub
|
|
134
|
-
if (rpcMetadata === null || rpcMetadata === void 0 ? void 0 : rpcMetadata.responseChannel) {
|
|
135
|
-
yield this.sendRpcError(rpcMetadata, error, commandName);
|
|
136
|
-
}
|
|
137
|
-
throw error;
|
|
138
|
-
}
|
|
139
|
-
});
|
|
140
|
-
}
|
|
141
|
-
/**
|
|
142
|
-
* Wysyła odpowiedź RPC do nadawcy przez Redis Pub/Sub z kompresją gzip
|
|
143
|
-
* Publikuje na dedykowanym kanale dla tego wywołania RPC
|
|
144
|
-
* Wrapper zawiera metadane kompresji dla klienta
|
|
145
|
-
*/
|
|
146
|
-
sendRpcResponse(rpcMetadata, result, error, commandName) {
|
|
147
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
148
|
-
try {
|
|
149
|
-
// Przygotuj payload do kompresji
|
|
150
|
-
const payload = {
|
|
151
|
-
correlationId: rpcMetadata.correlationId,
|
|
152
|
-
result,
|
|
153
|
-
error,
|
|
154
|
-
};
|
|
155
|
-
this.logger.debug('Przygotowywanie odpowiedzi RPC - payload', {
|
|
156
|
-
commandName,
|
|
157
|
-
correlationId: rpcMetadata.correlationId,
|
|
158
|
-
resultType: typeof result,
|
|
159
|
-
resultValue: result,
|
|
160
|
-
errorType: typeof error,
|
|
161
|
-
errorValue: error,
|
|
162
|
-
timestamp: new Date().toISOString(),
|
|
163
|
-
});
|
|
164
|
-
// Kompresuj payload jeśli przekracza threshold
|
|
165
|
-
const { data, compressed } = yield this.compressionService.compress(payload);
|
|
166
|
-
// Opakuj w wrapper z metadanymi kompresji
|
|
167
|
-
const wrapper = JSON.stringify({
|
|
168
|
-
data,
|
|
169
|
-
compressed,
|
|
170
|
-
});
|
|
171
|
-
// Publikuj odpowiedź na kanale Redis Pub/Sub
|
|
172
|
-
yield this.redisConnection.publish(rpcMetadata.responseChannel, wrapper);
|
|
173
|
-
this.logger.debug('Odpowiedź RPC opublikowana przez Pub/Sub', {
|
|
174
|
-
commandName,
|
|
175
|
-
correlationId: rpcMetadata.correlationId,
|
|
176
|
-
responseChannel: rpcMetadata.responseChannel,
|
|
177
|
-
compressed,
|
|
178
|
-
timestamp: new Date().toISOString(),
|
|
179
|
-
});
|
|
180
|
-
}
|
|
181
|
-
catch (publishError) {
|
|
182
|
-
this.logger.error('Nie udało się opublikować odpowiedzi RPC', {
|
|
183
|
-
commandName,
|
|
184
|
-
correlationId: rpcMetadata.correlationId,
|
|
185
|
-
responseChannel: rpcMetadata.responseChannel,
|
|
186
|
-
error: publishError instanceof Error ? publishError.message : String(publishError),
|
|
187
|
-
timestamp: new Date().toISOString(),
|
|
188
|
-
});
|
|
189
|
-
}
|
|
190
|
-
});
|
|
191
|
-
}
|
|
192
|
-
/**
|
|
193
|
-
* Wysyła błąd RPC do nadawcy przez Redis Pub/Sub
|
|
194
|
-
* Publikuje na dedykowanym kanale dla tego wywołania RPC
|
|
195
|
-
*/
|
|
196
|
-
sendRpcError(rpcMetadata, error, commandName) {
|
|
197
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
198
|
-
yield this.sendRpcResponse(rpcMetadata, null, error instanceof Error ? error.message : String(error), commandName);
|
|
199
|
-
});
|
|
200
|
-
}
|
|
201
|
-
}
|
|
202
|
-
exports.default = JobProcessor;
|
|
203
|
-
//# sourceMappingURL=job-processor.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"job-processor.js","sourceRoot":"","sources":["../../../src/command-bus/job/job-processor.ts"],"names":[],"mappings":"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"}
|