pp-command-bus 1.5.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.
Files changed (193) hide show
  1. package/README.md +400 -1219
  2. package/dist/command-bus/command-bus.spec.js +138 -359
  3. package/dist/command-bus/command-bus.spec.js.map +1 -1
  4. package/dist/command-bus/command.d.ts +3 -4
  5. package/dist/command-bus/command.js +3 -32
  6. package/dist/command-bus/command.js.map +1 -1
  7. package/dist/command-bus/config/command-bus-config.d.ts +75 -21
  8. package/dist/command-bus/config/command-bus-config.js +99 -58
  9. package/dist/command-bus/config/command-bus-config.js.map +1 -1
  10. package/dist/command-bus/config/command-bus-config.spec.js +174 -100
  11. package/dist/command-bus/config/command-bus-config.spec.js.map +1 -1
  12. package/dist/command-bus/index.d.ts +39 -52
  13. package/dist/command-bus/index.js +133 -126
  14. package/dist/command-bus/index.js.map +1 -1
  15. package/dist/command-bus/logging/command-logger.d.ts +2 -0
  16. package/dist/command-bus/logging/command-logger.js +7 -0
  17. package/dist/command-bus/logging/command-logger.js.map +1 -1
  18. package/dist/command-bus/logging/command-logger.spec.js +36 -0
  19. package/dist/command-bus/logging/command-logger.spec.js.map +1 -1
  20. package/dist/command-bus/serialization/index.d.ts +6 -0
  21. package/dist/command-bus/serialization/index.js +9 -0
  22. package/dist/command-bus/serialization/index.js.map +1 -0
  23. package/dist/command-bus/serialization/msgpack-serializer.d.ts +26 -0
  24. package/dist/command-bus/serialization/msgpack-serializer.js +70 -0
  25. package/dist/command-bus/serialization/msgpack-serializer.js.map +1 -0
  26. package/dist/command-bus/serialization/msgpack-serializer.spec.js +223 -0
  27. package/dist/command-bus/serialization/msgpack-serializer.spec.js.map +1 -0
  28. package/dist/command-bus/serialization/serializer.interface.d.ts +21 -0
  29. package/dist/command-bus/serialization/serializer.interface.js +3 -0
  30. package/dist/command-bus/serialization/serializer.interface.js.map +1 -0
  31. package/dist/command-bus/transport/consumer-loop.d.ts +45 -0
  32. package/dist/command-bus/transport/consumer-loop.js +90 -0
  33. package/dist/command-bus/transport/consumer-loop.js.map +1 -0
  34. package/dist/command-bus/transport/consumer-loop.spec.js +216 -0
  35. package/dist/command-bus/transport/consumer-loop.spec.js.map +1 -0
  36. package/dist/command-bus/transport/index.d.ts +21 -0
  37. package/dist/command-bus/transport/index.js +23 -0
  38. package/dist/command-bus/transport/index.js.map +1 -0
  39. package/dist/command-bus/transport/message-processor.d.ts +59 -0
  40. package/dist/command-bus/transport/message-processor.js +111 -0
  41. package/dist/command-bus/transport/message-processor.js.map +1 -0
  42. package/dist/command-bus/transport/message-processor.spec.js +185 -0
  43. package/dist/command-bus/transport/message-processor.spec.js.map +1 -0
  44. package/dist/command-bus/transport/pending-recovery.d.ts +54 -0
  45. package/dist/command-bus/transport/pending-recovery.js +139 -0
  46. package/dist/command-bus/transport/pending-recovery.js.map +1 -0
  47. package/dist/command-bus/transport/pending-recovery.spec.js +176 -0
  48. package/dist/command-bus/transport/pending-recovery.spec.js.map +1 -0
  49. package/dist/command-bus/transport/redis-codec.d.ts +24 -0
  50. package/dist/command-bus/transport/redis-codec.js +33 -0
  51. package/dist/command-bus/transport/redis-codec.js.map +1 -0
  52. package/dist/command-bus/transport/redis-codec.spec.js +53 -0
  53. package/dist/command-bus/transport/redis-codec.spec.js.map +1 -0
  54. package/dist/command-bus/transport/redis-streams-transport.d.ts +91 -0
  55. package/dist/command-bus/transport/redis-streams-transport.js +134 -0
  56. package/dist/command-bus/transport/redis-streams-transport.js.map +1 -0
  57. package/dist/command-bus/transport/redis-streams-transport.spec.js +420 -0
  58. package/dist/command-bus/transport/redis-streams-transport.spec.js.map +1 -0
  59. package/dist/command-bus/transport/rpc-handler.d.ts +39 -0
  60. package/dist/command-bus/transport/rpc-handler.js +87 -0
  61. package/dist/command-bus/transport/rpc-handler.js.map +1 -0
  62. package/dist/command-bus/transport/rpc-handler.spec.js +157 -0
  63. package/dist/command-bus/transport/rpc-handler.spec.js.map +1 -0
  64. package/dist/command-bus/transport/stream-consumer.d.ts +89 -0
  65. package/dist/command-bus/transport/stream-consumer.js +181 -0
  66. package/dist/command-bus/transport/stream-consumer.js.map +1 -0
  67. package/dist/command-bus/transport/stream-consumer.spec.js +284 -0
  68. package/dist/command-bus/transport/stream-consumer.spec.js.map +1 -0
  69. package/dist/command-bus/transport/stream-producer.d.ts +23 -0
  70. package/dist/command-bus/transport/stream-producer.js +70 -0
  71. package/dist/command-bus/transport/stream-producer.js.map +1 -0
  72. package/dist/command-bus/transport/stream-producer.spec.js +125 -0
  73. package/dist/command-bus/transport/stream-producer.spec.js.map +1 -0
  74. package/dist/command-bus/transport/transport.interface.d.ts +87 -0
  75. package/dist/command-bus/transport/transport.interface.js +3 -0
  76. package/dist/command-bus/transport/transport.interface.js.map +1 -0
  77. package/dist/command-bus/types/index.d.ts +0 -84
  78. package/dist/examples/rpc.demo.js +1 -1
  79. package/dist/examples/rpc.demo.js.map +1 -1
  80. package/dist/index.d.ts +8 -5
  81. package/dist/index.js +6 -4
  82. package/dist/index.js.map +1 -1
  83. package/dist/pp-command-bus-2.0.0.tgz +0 -0
  84. package/dist/shared/redis/connection-pool.d.ts +54 -0
  85. package/dist/shared/redis/connection-pool.js +117 -0
  86. package/dist/shared/redis/connection-pool.js.map +1 -0
  87. package/dist/shared/redis/connection-pool.spec.js +114 -0
  88. package/dist/shared/redis/connection-pool.spec.js.map +1 -0
  89. package/dist/shared/redis/index.d.ts +5 -3
  90. package/dist/shared/redis/index.js +6 -4
  91. package/dist/shared/redis/index.js.map +1 -1
  92. package/dist/shared/redis/rpc-connection-pool.d.ts +61 -0
  93. package/dist/shared/redis/rpc-connection-pool.js +154 -0
  94. package/dist/shared/redis/rpc-connection-pool.js.map +1 -0
  95. package/dist/shared/redis/rpc-connection-pool.spec.d.ts +1 -0
  96. package/dist/shared/redis/rpc-connection-pool.spec.js +173 -0
  97. package/dist/shared/redis/rpc-connection-pool.spec.js.map +1 -0
  98. package/dist/shared/types.d.ts +0 -4
  99. package/dist/shared/utils/error-utils.d.ts +8 -0
  100. package/dist/shared/utils/error-utils.js +14 -0
  101. package/dist/shared/utils/error-utils.js.map +1 -0
  102. package/package.json +12 -12
  103. package/dist/command-bus/config/auto-config-optimizer.d.ts +0 -35
  104. package/dist/command-bus/config/auto-config-optimizer.js +0 -52
  105. package/dist/command-bus/config/auto-config-optimizer.js.map +0 -1
  106. package/dist/command-bus/config/auto-config-optimizer.spec.js +0 -42
  107. package/dist/command-bus/config/auto-config-optimizer.spec.js.map +0 -1
  108. package/dist/command-bus/job/index.d.ts +0 -6
  109. package/dist/command-bus/job/index.js +0 -15
  110. package/dist/command-bus/job/index.js.map +0 -1
  111. package/dist/command-bus/job/job-options-builder.d.ts +0 -21
  112. package/dist/command-bus/job/job-options-builder.js +0 -58
  113. package/dist/command-bus/job/job-options-builder.js.map +0 -1
  114. package/dist/command-bus/job/job-options-builder.spec.js +0 -156
  115. package/dist/command-bus/job/job-options-builder.spec.js.map +0 -1
  116. package/dist/command-bus/job/job-processor.d.ts +0 -39
  117. package/dist/command-bus/job/job-processor.js +0 -203
  118. package/dist/command-bus/job/job-processor.js.map +0 -1
  119. package/dist/command-bus/job/job-processor.spec.js +0 -436
  120. package/dist/command-bus/job/job-processor.spec.js.map +0 -1
  121. package/dist/command-bus/queue/index.d.ts +0 -5
  122. package/dist/command-bus/queue/index.js +0 -13
  123. package/dist/command-bus/queue/index.js.map +0 -1
  124. package/dist/command-bus/queue/queue-manager.d.ts +0 -56
  125. package/dist/command-bus/queue/queue-manager.js +0 -163
  126. package/dist/command-bus/queue/queue-manager.js.map +0 -1
  127. package/dist/command-bus/queue/queue-manager.spec.js +0 -371
  128. package/dist/command-bus/queue/queue-manager.spec.js.map +0 -1
  129. package/dist/command-bus/rpc/index.d.ts +0 -11
  130. package/dist/command-bus/rpc/index.js +0 -19
  131. package/dist/command-bus/rpc/index.js.map +0 -1
  132. package/dist/command-bus/rpc/payload-compression.service.d.ts +0 -50
  133. package/dist/command-bus/rpc/payload-compression.service.js +0 -215
  134. package/dist/command-bus/rpc/payload-compression.service.js.map +0 -1
  135. package/dist/command-bus/rpc/payload-compression.service.spec.js +0 -376
  136. package/dist/command-bus/rpc/payload-compression.service.spec.js.map +0 -1
  137. package/dist/command-bus/rpc/rpc-coordinator.d.ts +0 -96
  138. package/dist/command-bus/rpc/rpc-coordinator.js +0 -500
  139. package/dist/command-bus/rpc/rpc-coordinator.js.map +0 -1
  140. package/dist/command-bus/rpc/rpc-coordinator.spec.js +0 -621
  141. package/dist/command-bus/rpc/rpc-coordinator.spec.js.map +0 -1
  142. package/dist/command-bus/rpc/rpc-job-cancellation.service.d.ts +0 -82
  143. package/dist/command-bus/rpc/rpc-job-cancellation.service.js +0 -180
  144. package/dist/command-bus/rpc/rpc-job-cancellation.service.js.map +0 -1
  145. package/dist/command-bus/rpc/rpc-job-cancellation.service.spec.js +0 -286
  146. package/dist/command-bus/rpc/rpc-job-cancellation.service.spec.js.map +0 -1
  147. package/dist/command-bus/worker/index.d.ts +0 -10
  148. package/dist/command-bus/worker/index.js +0 -19
  149. package/dist/command-bus/worker/index.js.map +0 -1
  150. package/dist/command-bus/worker/worker-benchmark.d.ts +0 -71
  151. package/dist/command-bus/worker/worker-benchmark.js +0 -202
  152. package/dist/command-bus/worker/worker-benchmark.js.map +0 -1
  153. package/dist/command-bus/worker/worker-benchmark.spec.js +0 -310
  154. package/dist/command-bus/worker/worker-benchmark.spec.js.map +0 -1
  155. package/dist/command-bus/worker/worker-metrics-collector.d.ts +0 -98
  156. package/dist/command-bus/worker/worker-metrics-collector.js +0 -242
  157. package/dist/command-bus/worker/worker-metrics-collector.js.map +0 -1
  158. package/dist/command-bus/worker/worker-orchestrator.d.ts +0 -70
  159. package/dist/command-bus/worker/worker-orchestrator.js +0 -339
  160. package/dist/command-bus/worker/worker-orchestrator.js.map +0 -1
  161. package/dist/command-bus/worker/worker-orchestrator.spec.js +0 -712
  162. package/dist/command-bus/worker/worker-orchestrator.spec.js.map +0 -1
  163. package/dist/examples/auto-config.demo.d.ts +0 -9
  164. package/dist/examples/auto-config.demo.js +0 -106
  165. package/dist/examples/auto-config.demo.js.map +0 -1
  166. package/dist/examples/rpc-compression.demo.d.ts +0 -5
  167. package/dist/examples/rpc-compression.demo.js +0 -358
  168. package/dist/examples/rpc-compression.demo.js.map +0 -1
  169. package/dist/examples/rpc-resilience.demo.d.ts +0 -15
  170. package/dist/examples/rpc-resilience.demo.js +0 -233
  171. package/dist/examples/rpc-resilience.demo.js.map +0 -1
  172. package/dist/pp-command-bus-1.5.0.tgz +0 -0
  173. package/dist/shared/config/base-config.d.ts +0 -54
  174. package/dist/shared/config/base-config.js +0 -114
  175. package/dist/shared/config/base-config.js.map +0 -1
  176. package/dist/shared/config/base-config.spec.js +0 -204
  177. package/dist/shared/config/base-config.spec.js.map +0 -1
  178. package/dist/shared/config/index.d.ts +0 -1
  179. package/dist/shared/config/index.js +0 -9
  180. package/dist/shared/config/index.js.map +0 -1
  181. package/dist/shared/redis/redis-connection-factory.d.ts +0 -66
  182. package/dist/shared/redis/redis-connection-factory.js +0 -113
  183. package/dist/shared/redis/redis-connection-factory.js.map +0 -1
  184. /package/dist/command-bus/{config/auto-config-optimizer.spec.d.ts → serialization/msgpack-serializer.spec.d.ts} +0 -0
  185. /package/dist/command-bus/{job/job-options-builder.spec.d.ts → transport/consumer-loop.spec.d.ts} +0 -0
  186. /package/dist/command-bus/{job/job-processor.spec.d.ts → transport/message-processor.spec.d.ts} +0 -0
  187. /package/dist/command-bus/{queue/queue-manager.spec.d.ts → transport/pending-recovery.spec.d.ts} +0 -0
  188. /package/dist/command-bus/{rpc/payload-compression.service.spec.d.ts → transport/redis-codec.spec.d.ts} +0 -0
  189. /package/dist/command-bus/{rpc/rpc-coordinator.spec.d.ts → transport/redis-streams-transport.spec.d.ts} +0 -0
  190. /package/dist/command-bus/{rpc/rpc-job-cancellation.service.spec.d.ts → transport/rpc-handler.spec.d.ts} +0 -0
  191. /package/dist/command-bus/{worker/worker-benchmark.spec.d.ts → transport/stream-consumer.spec.d.ts} +0 -0
  192. /package/dist/command-bus/{worker/worker-orchestrator.spec.d.ts → transport/stream-producer.spec.d.ts} +0 -0
  193. /package/dist/shared/{config/base-config.spec.d.ts → redis/connection-pool.spec.d.ts} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"rpc-coordinator.spec.js","sourceRoot":"","sources":["../../../src/command-bus/rpc/rpc-coordinator.spec.ts"],"names":[],"mappings":"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"}
@@ -1,82 +0,0 @@
1
- import type { Redis } from 'ioredis';
2
- import type { ILogger } from '../../shared/types';
3
- /**
4
- * Typ callbacka do usuwania joba z kolejki
5
- * Callback jest dostarczany przez CommandBus dla zachowania luźnego powiązania
6
- */
7
- export type RemoveJobCallback = (queueName: string, jobId: string) => Promise<boolean>;
8
- /**
9
- * Serwis zarządzający anulowaniem jobów RPC
10
- *
11
- * Odpowiedzialność: oznaczanie jobów jako cancelled i sprawdzanie statusu.
12
- * Używany do optymalizacji zasobów - zapobiega przetwarzaniu jobów po timeout RPC.
13
- *
14
- * WAŻNE: Proces cancellation NIE rzuca wyjątków - jest to optymalizacja zasobów,
15
- * nie kluczowa operacja. Wszystkie błędy są logowane, ale nie propagowane.
16
- *
17
- * Klucze Redis: rpc:cancelled:{correlationId} → "1" (TTL: 24h)
18
- * Klucz jest usuwany wcześniej gdy:
19
- * - Job zostanie pomyślnie usunięty z kolejki
20
- * - Job zostanie pominięty przez JobProcessor
21
- */
22
- export default class RpcJobCancellationService {
23
- private readonly redisConnection;
24
- private readonly logger;
25
- /**
26
- * TTL dla kluczy cancellation - 24 godziny
27
- */
28
- private static readonly TTL_SECONDS;
29
- /**
30
- * Prefix dla kluczy Redis
31
- */
32
- private static readonly KEY_PREFIX;
33
- constructor(redisConnection: Redis, logger: ILogger);
34
- /**
35
- * Oznacza job RPC jako anulowany
36
- * Ustawia klucz w Redis z TTL 24h
37
- *
38
- * NIE rzuca wyjątków - loguje błędy
39
- *
40
- * @param correlationId - ID korelacji RPC (command.__id)
41
- */
42
- markAsCancelled(correlationId: string): Promise<void>;
43
- /**
44
- * Sprawdza czy job RPC został anulowany
45
- *
46
- * Zwraca false w przypadku błędu Redis (graceful degradation)
47
- * - lepsza nadmiarowość niż blokowanie przetwarzania
48
- *
49
- * @param correlationId - ID korelacji RPC (command.__id)
50
- * @returns true jeśli job jest anulowany, false w przeciwnym razie
51
- */
52
- isCancelled(correlationId: string): Promise<boolean>;
53
- /**
54
- * Usuwa flagę cancellation z Redis
55
- * Wywoływane po:
56
- * - pomyślnym usunięciu joba z kolejki
57
- * - pominięciu joba przez JobProcessor
58
- *
59
- * NIE rzuca wyjątków - loguje błędy
60
- *
61
- * @param correlationId - ID korelacji RPC (command.__id)
62
- */
63
- clearCancellation(correlationId: string): Promise<void>;
64
- /**
65
- * Próbuje usunąć job z kolejki używając dostarczonego callbacka
66
- *
67
- * Callback jest dostarczany przez CommandBus dla zachowania luźnego powiązania
68
- * (nie mamy bezpośredniej zależności na QueueManager)
69
- *
70
- * NIE rzuca wyjątków - loguje błędy, zwraca boolean sukcesu
71
- *
72
- * @param jobId - ID joba w BullMQ
73
- * @param queueName - Nazwa kolejki
74
- * @param removeCallback - Callback do usunięcia joba
75
- * @returns true jeśli job usunięty, false w przeciwnym razie
76
- */
77
- tryRemoveJob(jobId: string, queueName: string, removeCallback: RemoveJobCallback): Promise<boolean>;
78
- /**
79
- * Buduje klucz Redis dla danego correlationId
80
- */
81
- private buildKey;
82
- }
@@ -1,180 +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
- Object.defineProperty(exports, "__esModule", { value: true });
12
- /**
13
- * Serwis zarządzający anulowaniem jobów RPC
14
- *
15
- * Odpowiedzialność: oznaczanie jobów jako cancelled i sprawdzanie statusu.
16
- * Używany do optymalizacji zasobów - zapobiega przetwarzaniu jobów po timeout RPC.
17
- *
18
- * WAŻNE: Proces cancellation NIE rzuca wyjątków - jest to optymalizacja zasobów,
19
- * nie kluczowa operacja. Wszystkie błędy są logowane, ale nie propagowane.
20
- *
21
- * Klucze Redis: rpc:cancelled:{correlationId} → "1" (TTL: 24h)
22
- * Klucz jest usuwany wcześniej gdy:
23
- * - Job zostanie pomyślnie usunięty z kolejki
24
- * - Job zostanie pominięty przez JobProcessor
25
- */
26
- class RpcJobCancellationService {
27
- constructor(redisConnection, logger) {
28
- this.redisConnection = redisConnection;
29
- this.logger = logger;
30
- }
31
- /**
32
- * Oznacza job RPC jako anulowany
33
- * Ustawia klucz w Redis z TTL 24h
34
- *
35
- * NIE rzuca wyjątków - loguje błędy
36
- *
37
- * @param correlationId - ID korelacji RPC (command.__id)
38
- */
39
- markAsCancelled(correlationId) {
40
- return __awaiter(this, void 0, void 0, function* () {
41
- const key = this.buildKey(correlationId);
42
- try {
43
- yield this.redisConnection.set(key, '1', 'EX', RpcJobCancellationService.TTL_SECONDS);
44
- this.logger.debug('Oznaczono RPC jako anulowane', {
45
- correlationId,
46
- key,
47
- ttlSeconds: RpcJobCancellationService.TTL_SECONDS,
48
- timestamp: new Date().toISOString(),
49
- });
50
- }
51
- catch (error) {
52
- this.logger.warn('Błąd oznaczania RPC jako anulowane', {
53
- correlationId,
54
- key,
55
- error: error instanceof Error ? error.message : String(error),
56
- timestamp: new Date().toISOString(),
57
- });
58
- }
59
- });
60
- }
61
- /**
62
- * Sprawdza czy job RPC został anulowany
63
- *
64
- * Zwraca false w przypadku błędu Redis (graceful degradation)
65
- * - lepsza nadmiarowość niż blokowanie przetwarzania
66
- *
67
- * @param correlationId - ID korelacji RPC (command.__id)
68
- * @returns true jeśli job jest anulowany, false w przeciwnym razie
69
- */
70
- isCancelled(correlationId) {
71
- return __awaiter(this, void 0, void 0, function* () {
72
- const key = this.buildKey(correlationId);
73
- try {
74
- const exists = yield this.redisConnection.exists(key);
75
- return exists === 1;
76
- }
77
- catch (error) {
78
- this.logger.warn('Błąd sprawdzania cancellation RPC - graceful degradation', {
79
- correlationId,
80
- key,
81
- error: error instanceof Error ? error.message : String(error),
82
- timestamp: new Date().toISOString(),
83
- });
84
- // Graceful degradation - gdy Redis niedostępny, pozwól na przetworzenie
85
- return false;
86
- }
87
- });
88
- }
89
- /**
90
- * Usuwa flagę cancellation z Redis
91
- * Wywoływane po:
92
- * - pomyślnym usunięciu joba z kolejki
93
- * - pominięciu joba przez JobProcessor
94
- *
95
- * NIE rzuca wyjątków - loguje błędy
96
- *
97
- * @param correlationId - ID korelacji RPC (command.__id)
98
- */
99
- clearCancellation(correlationId) {
100
- return __awaiter(this, void 0, void 0, function* () {
101
- const key = this.buildKey(correlationId);
102
- try {
103
- yield this.redisConnection.del(key);
104
- this.logger.debug('Usunięto flagę cancellation RPC', {
105
- correlationId,
106
- key,
107
- timestamp: new Date().toISOString(),
108
- });
109
- }
110
- catch (error) {
111
- this.logger.warn('Błąd usuwania flagi cancellation RPC', {
112
- correlationId,
113
- key,
114
- error: error instanceof Error ? error.message : String(error),
115
- timestamp: new Date().toISOString(),
116
- });
117
- }
118
- });
119
- }
120
- /**
121
- * Próbuje usunąć job z kolejki używając dostarczonego callbacka
122
- *
123
- * Callback jest dostarczany przez CommandBus dla zachowania luźnego powiązania
124
- * (nie mamy bezpośredniej zależności na QueueManager)
125
- *
126
- * NIE rzuca wyjątków - loguje błędy, zwraca boolean sukcesu
127
- *
128
- * @param jobId - ID joba w BullMQ
129
- * @param queueName - Nazwa kolejki
130
- * @param removeCallback - Callback do usunięcia joba
131
- * @returns true jeśli job usunięty, false w przeciwnym razie
132
- */
133
- tryRemoveJob(jobId, queueName, removeCallback) {
134
- return __awaiter(this, void 0, void 0, function* () {
135
- try {
136
- const removed = yield removeCallback(queueName, jobId);
137
- if (removed) {
138
- this.logger.debug('Job usunięty z kolejki przez cancellation service', {
139
- jobId,
140
- queueName,
141
- timestamp: new Date().toISOString(),
142
- });
143
- }
144
- else {
145
- this.logger.debug('Nie udało się usunąć joba (prawdopodobnie już przetwarzany)', {
146
- jobId,
147
- queueName,
148
- timestamp: new Date().toISOString(),
149
- });
150
- }
151
- return removed;
152
- }
153
- catch (error) {
154
- this.logger.debug('Błąd podczas próby usunięcia joba z kolejki', {
155
- jobId,
156
- queueName,
157
- error: error instanceof Error ? error.message : String(error),
158
- timestamp: new Date().toISOString(),
159
- });
160
- return false;
161
- }
162
- });
163
- }
164
- /**
165
- * Buduje klucz Redis dla danego correlationId
166
- */
167
- buildKey(correlationId) {
168
- return `${RpcJobCancellationService.KEY_PREFIX}${correlationId}`;
169
- }
170
- }
171
- /**
172
- * TTL dla kluczy cancellation - 24 godziny
173
- */
174
- RpcJobCancellationService.TTL_SECONDS = 86400;
175
- /**
176
- * Prefix dla kluczy Redis
177
- */
178
- RpcJobCancellationService.KEY_PREFIX = 'rpc:cancelled:';
179
- exports.default = RpcJobCancellationService;
180
- //# sourceMappingURL=rpc-job-cancellation.service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"rpc-job-cancellation.service.js","sourceRoot":"","sources":["../../../src/command-bus/rpc/rpc-job-cancellation.service.ts"],"names":[],"mappings":"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"}
@@ -1,286 +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 rpc_job_cancellation_service_1 = __importDefault(require("./rpc-job-cancellation.service"));
16
- /**
17
- * Testy dla RpcJobCancellationService
18
- * Testuje zarządzanie stanem cancellation jobów RPC:
19
- * - oznaczanie jako cancelled
20
- * - sprawdzanie statusu
21
- * - czyszczenie flagi
22
- * - próba usunięcia joba przez callback
23
- *
24
- * UWAGA: Serwis NIE rzuca wyjątków - wszystkie błędy są logowane
25
- */
26
- describe('RpcJobCancellationService', () => {
27
- let service;
28
- let mockRedis;
29
- let mockLogger;
30
- beforeEach(() => {
31
- mockRedis = {
32
- set: jest.fn().mockResolvedValue('OK'),
33
- get: jest.fn().mockResolvedValue(null),
34
- del: jest.fn().mockResolvedValue(1),
35
- exists: jest.fn().mockResolvedValue(0),
36
- };
37
- mockLogger = {
38
- debug: jest.fn(),
39
- log: jest.fn(),
40
- warn: jest.fn(),
41
- error: jest.fn(),
42
- };
43
- service = new rpc_job_cancellation_service_1.default(mockRedis, mockLogger);
44
- });
45
- describe('markAsCancelled()', () => {
46
- it('ustawia klucz Redis z TTL 24h', () => __awaiter(void 0, void 0, void 0, function* () {
47
- // Arrange
48
- const correlationId = 'test-correlation-123';
49
- // Act
50
- yield service.markAsCancelled(correlationId);
51
- // Assert
52
- expect(mockRedis.set).toHaveBeenCalledWith('rpc:cancelled:test-correlation-123', '1', 'EX', 86400);
53
- expect(mockLogger.debug).toHaveBeenCalledWith(expect.stringContaining('Oznaczono RPC jako anulowane'), expect.objectContaining({ correlationId }));
54
- }));
55
- it('nie rzuca wyjątku gdy Redis zwraca błąd', () => __awaiter(void 0, void 0, void 0, function* () {
56
- // Arrange
57
- const correlationId = 'test-error-456';
58
- mockRedis.set.mockRejectedValue(new Error('Redis connection failed'));
59
- // Act - nie powinno rzucić
60
- yield expect(service.markAsCancelled(correlationId)).resolves.not.toThrow();
61
- // Assert - powinno zalogować błąd
62
- expect(mockLogger.warn).toHaveBeenCalledWith(expect.stringContaining('Błąd oznaczania RPC jako anulowane'), expect.objectContaining({
63
- correlationId,
64
- error: 'Redis connection failed',
65
- }));
66
- }));
67
- it('loguje debug przy sukcesie', () => __awaiter(void 0, void 0, void 0, function* () {
68
- // Arrange
69
- const correlationId = 'success-123';
70
- mockRedis.set.mockResolvedValue('OK');
71
- // Act
72
- yield service.markAsCancelled(correlationId);
73
- // Assert
74
- expect(mockLogger.debug).toHaveBeenCalledWith(expect.stringContaining('Oznaczono RPC jako anulowane'), expect.objectContaining({
75
- correlationId,
76
- ttlSeconds: 86400,
77
- }));
78
- }));
79
- });
80
- describe('isCancelled()', () => {
81
- it('zwraca true gdy klucz istnieje', () => __awaiter(void 0, void 0, void 0, function* () {
82
- // Arrange
83
- const correlationId = 'cancelled-job-789';
84
- mockRedis.exists.mockResolvedValue(1);
85
- // Act
86
- const result = yield service.isCancelled(correlationId);
87
- // Assert
88
- expect(result).toBe(true);
89
- expect(mockRedis.exists).toHaveBeenCalledWith('rpc:cancelled:cancelled-job-789');
90
- }));
91
- it('zwraca false gdy klucz nie istnieje', () => __awaiter(void 0, void 0, void 0, function* () {
92
- // Arrange
93
- const correlationId = 'active-job-101';
94
- mockRedis.exists.mockResolvedValue(0);
95
- // Act
96
- const result = yield service.isCancelled(correlationId);
97
- // Assert
98
- expect(result).toBe(false);
99
- expect(mockRedis.exists).toHaveBeenCalledWith('rpc:cancelled:active-job-101');
100
- }));
101
- it('zwraca false gdy Redis zwraca błąd (graceful degradation)', () => __awaiter(void 0, void 0, void 0, function* () {
102
- // Arrange
103
- const correlationId = 'error-job-202';
104
- mockRedis.exists.mockRejectedValue(new Error('Redis timeout'));
105
- // Act
106
- const result = yield service.isCancelled(correlationId);
107
- // Assert
108
- expect(result).toBe(false); // Graceful degradation
109
- expect(mockLogger.warn).toHaveBeenCalledWith(expect.stringContaining('Błąd sprawdzania cancellation'), expect.objectContaining({
110
- correlationId,
111
- error: 'Redis timeout',
112
- }));
113
- }));
114
- it('nie rzuca wyjątku przy błędzie Redis', () => __awaiter(void 0, void 0, void 0, function* () {
115
- // Arrange
116
- const correlationId = 'fail-job-303';
117
- mockRedis.exists.mockRejectedValue(new Error('Connection refused'));
118
- // Act & Assert - nie powinno rzucić
119
- yield expect(service.isCancelled(correlationId)).resolves.toBe(false);
120
- }));
121
- });
122
- describe('clearCancellation()', () => {
123
- it('usuwa klucz z Redis', () => __awaiter(void 0, void 0, void 0, function* () {
124
- // Arrange
125
- const correlationId = 'clear-job-404';
126
- mockRedis.del.mockResolvedValue(1);
127
- // Act
128
- yield service.clearCancellation(correlationId);
129
- // Assert
130
- expect(mockRedis.del).toHaveBeenCalledWith('rpc:cancelled:clear-job-404');
131
- expect(mockLogger.debug).toHaveBeenCalledWith(expect.stringContaining('Usunięto flagę cancellation'), expect.objectContaining({ correlationId }));
132
- }));
133
- it('nie rzuca wyjątku gdy klucz nie istnieje', () => __awaiter(void 0, void 0, void 0, function* () {
134
- // Arrange
135
- const correlationId = 'nonexistent-job-505';
136
- mockRedis.del.mockResolvedValue(0); // Klucz nie istniał
137
- // Act & Assert
138
- yield expect(service.clearCancellation(correlationId)).resolves.not.toThrow();
139
- }));
140
- it('nie rzuca wyjątku gdy Redis zwraca błąd', () => __awaiter(void 0, void 0, void 0, function* () {
141
- // Arrange
142
- const correlationId = 'error-clear-606';
143
- mockRedis.del.mockRejectedValue(new Error('Redis error'));
144
- // Act & Assert - nie powinno rzucić
145
- yield expect(service.clearCancellation(correlationId)).resolves.not.toThrow();
146
- // Assert - powinno zalogować
147
- expect(mockLogger.warn).toHaveBeenCalledWith(expect.stringContaining('Błąd usuwania flagi cancellation'), expect.objectContaining({
148
- correlationId,
149
- error: 'Redis error',
150
- }));
151
- }));
152
- });
153
- describe('tryRemoveJob()', () => {
154
- it('wywołuje callback i zwraca true gdy sukces', () => __awaiter(void 0, void 0, void 0, function* () {
155
- // Arrange
156
- const jobId = 'job-to-remove-707';
157
- const queueName = 'TestQueue';
158
- const removeCallback = jest.fn().mockResolvedValue(true);
159
- // Act
160
- const result = yield service.tryRemoveJob(jobId, queueName, removeCallback);
161
- // Assert
162
- expect(result).toBe(true);
163
- expect(removeCallback).toHaveBeenCalledWith(queueName, jobId);
164
- expect(mockLogger.debug).toHaveBeenCalledWith(expect.stringContaining('Job usunięty z kolejki'), expect.objectContaining({ jobId, queueName }));
165
- }));
166
- it('zwraca false gdy callback zwraca false (job nie istnieje)', () => __awaiter(void 0, void 0, void 0, function* () {
167
- // Arrange
168
- const jobId = 'nonexistent-job-808';
169
- const queueName = 'TestQueue';
170
- const removeCallback = jest.fn().mockResolvedValue(false);
171
- // Act
172
- const result = yield service.tryRemoveJob(jobId, queueName, removeCallback);
173
- // Assert
174
- expect(result).toBe(false);
175
- expect(removeCallback).toHaveBeenCalledWith(queueName, jobId);
176
- expect(mockLogger.debug).toHaveBeenCalledWith(expect.stringContaining('Nie udało się usunąć joba'), expect.objectContaining({ jobId, queueName }));
177
- }));
178
- it('zwraca false gdy callback rzuca błąd', () => __awaiter(void 0, void 0, void 0, function* () {
179
- // Arrange
180
- const jobId = 'error-job-909';
181
- const queueName = 'TestQueue';
182
- const removeCallback = jest.fn().mockRejectedValue(new Error('Queue error'));
183
- // Act
184
- const result = yield service.tryRemoveJob(jobId, queueName, removeCallback);
185
- // Assert
186
- expect(result).toBe(false);
187
- expect(mockLogger.debug).toHaveBeenCalledWith(expect.stringContaining('Błąd podczas próby usunięcia joba'), expect.objectContaining({
188
- jobId,
189
- queueName,
190
- error: 'Queue error',
191
- }));
192
- }));
193
- it('nie rzuca wyjątku przy błędzie callback', () => __awaiter(void 0, void 0, void 0, function* () {
194
- // Arrange
195
- const jobId = 'fail-job-010';
196
- const queueName = 'TestQueue';
197
- const removeCallback = jest.fn().mockRejectedValue(new Error('Network error'));
198
- // Act & Assert - nie powinno rzucić
199
- yield expect(service.tryRemoveJob(jobId, queueName, removeCallback)).resolves.toBe(false);
200
- }));
201
- });
202
- describe('integracja - scenariusze użycia', () => {
203
- it('pełny cykl: mark → check → clear', () => __awaiter(void 0, void 0, void 0, function* () {
204
- // Arrange
205
- const correlationId = 'full-cycle-111';
206
- mockRedis.set.mockResolvedValue('OK');
207
- mockRedis.exists.mockResolvedValue(1);
208
- mockRedis.del.mockResolvedValue(1);
209
- // Act & Assert
210
- // 1. Oznacz jako cancelled
211
- yield service.markAsCancelled(correlationId);
212
- expect(mockRedis.set).toHaveBeenCalled();
213
- // 2. Sprawdź czy cancelled
214
- const isCancelled = yield service.isCancelled(correlationId);
215
- expect(isCancelled).toBe(true);
216
- // 3. Wyczyść flagę
217
- yield service.clearCancellation(correlationId);
218
- expect(mockRedis.del).toHaveBeenCalled();
219
- }));
220
- it('scenariusz: timeout + usunięcie joba → wyczyść flagę', () => __awaiter(void 0, void 0, void 0, function* () {
221
- // Arrange
222
- const correlationId = 'timeout-scenario-222';
223
- const jobId = 'job-222';
224
- const queueName = 'CommandQueue';
225
- const removeCallback = jest.fn().mockResolvedValue(true);
226
- mockRedis.set.mockResolvedValue('OK');
227
- mockRedis.del.mockResolvedValue(1);
228
- // Act
229
- // 1. Timeout - oznacz jako cancelled
230
- yield service.markAsCancelled(correlationId);
231
- // 2. Spróbuj usunąć job
232
- const removed = yield service.tryRemoveJob(jobId, queueName, removeCallback);
233
- expect(removed).toBe(true);
234
- // 3. Jeśli usunięto - wyczyść flagę
235
- if (removed) {
236
- yield service.clearCancellation(correlationId);
237
- }
238
- // Assert
239
- expect(mockRedis.set).toHaveBeenCalledTimes(1);
240
- expect(removeCallback).toHaveBeenCalledTimes(1);
241
- expect(mockRedis.del).toHaveBeenCalledTimes(1);
242
- }));
243
- it('scenariusz: timeout + job już przetwarzany → flaga pozostaje dla JobProcessor', () => __awaiter(void 0, void 0, void 0, function* () {
244
- // Arrange
245
- const correlationId = 'active-job-scenario-333';
246
- const jobId = 'job-333';
247
- const queueName = 'CommandQueue';
248
- const removeCallback = jest.fn().mockResolvedValue(false); // Job już przetwarzany
249
- mockRedis.set.mockResolvedValue('OK');
250
- // Act
251
- // 1. Timeout - oznacz jako cancelled
252
- yield service.markAsCancelled(correlationId);
253
- // 2. Spróbuj usunąć job - nie uda się (już przetwarzany)
254
- const removed = yield service.tryRemoveJob(jobId, queueName, removeCallback);
255
- expect(removed).toBe(false);
256
- // 3. NIE czyścimy flagi - JobProcessor sprawdzi i pominie
257
- // Assert
258
- expect(mockRedis.set).toHaveBeenCalledTimes(1);
259
- expect(mockRedis.del).not.toHaveBeenCalled(); // Flaga pozostaje
260
- }));
261
- });
262
- describe('format klucza Redis', () => {
263
- it('używa poprawnego prefixu dla kluczy', () => __awaiter(void 0, void 0, void 0, function* () {
264
- // Arrange
265
- const correlationId = 'key-format-test';
266
- // Act
267
- yield service.markAsCancelled(correlationId);
268
- yield service.isCancelled(correlationId);
269
- yield service.clearCancellation(correlationId);
270
- // Assert - wszystkie operacje używają tego samego formatu klucza
271
- const expectedKey = 'rpc:cancelled:key-format-test';
272
- expect(mockRedis.set).toHaveBeenCalledWith(expectedKey, expect.anything(), expect.anything(), expect.anything());
273
- expect(mockRedis.exists).toHaveBeenCalledWith(expectedKey);
274
- expect(mockRedis.del).toHaveBeenCalledWith(expectedKey);
275
- }));
276
- it('obsługuje correlationId ze specjalnymi znakami', () => __awaiter(void 0, void 0, void 0, function* () {
277
- // Arrange
278
- const correlationId = 'test:with:colons-and-dashes_and_underscores';
279
- // Act
280
- yield service.markAsCancelled(correlationId);
281
- // Assert
282
- expect(mockRedis.set).toHaveBeenCalledWith('rpc:cancelled:test:with:colons-and-dashes_and_underscores', '1', 'EX', 86400);
283
- }));
284
- });
285
- });
286
- //# sourceMappingURL=rpc-job-cancellation.service.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"rpc-job-cancellation.service.spec.js","sourceRoot":"","sources":["../../../src/command-bus/rpc/rpc-job-cancellation.service.spec.ts"],"names":[],"mappings":"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"}
@@ -1,10 +0,0 @@
1
- /**
2
- * Moduł zarządzania workerami BullMQ
3
- * Eksportuje WorkerOrchestrator odpowiedzialny za lifecycle workerów,
4
- * WorkerMetricsCollector dla zbierania metryk diagnostycznych
5
- * oraz WorkerBenchmark dla automatycznej optymalizacji concurrency
6
- */
7
- export { default as WorkerOrchestrator } from './worker-orchestrator';
8
- export { default as WorkerMetricsCollector } from './worker-metrics-collector';
9
- export { default as WorkerBenchmark } from './worker-benchmark';
10
- export type { BenchmarkResult } from './worker-benchmark';