@loipv/nestjs-kafka 0.0.1 → 0.0.3

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 CHANGED
@@ -228,6 +228,65 @@ async handleOrder(message: KafkaMessage) {
228
228
 
229
229
  Use this to temporarily disable a consumer without removing the code.
230
230
 
231
+ ### Auto-Deserialization
232
+
233
+ Messages are automatically deserialized by default:
234
+
235
+ - **JSON**: Parsed automatically if valid JSON
236
+ - **String**: Falls back to UTF-8 string
237
+ - **Key**: Buffer converted to string
238
+
239
+ ```typescript
240
+ // With auto-deserialization (default)
241
+ @Consumer('orders')
242
+ async handleOrder(message: KafkaMessagePayload<Order>) {
243
+ // message.value is already parsed as Order object
244
+ // message.key is string (not Buffer)
245
+ console.log(message.value.orderId);
246
+ }
247
+
248
+ // Disable auto-deserialization for raw Buffer access
249
+ @Consumer('binary-data', { deserialize: false })
250
+ async handleBinary(message: KafkaMessage) {
251
+ // message.value is Buffer
252
+ const raw = message.value.toString('hex');
253
+ }
254
+ ```
255
+
256
+ ### Retry & Restart on Failure
257
+
258
+ Control consumer restart behavior when errors occur:
259
+
260
+ ```typescript
261
+ // Disable restart on failure
262
+ @Consumer('critical-topic', {
263
+ retry: {
264
+ restartOnFailure: false,
265
+ },
266
+ })
267
+ async handleCritical(message: KafkaMessagePayload) {
268
+ // Consumer will NOT restart if this throws
269
+ }
270
+
271
+ // Custom restart logic
272
+ @Consumer('orders', {
273
+ retry: {
274
+ retries: 10,
275
+ maxRetryTime: 60000,
276
+ restartOnFailure: async (error) => {
277
+ // Don't restart on authentication errors
278
+ if (error.message.includes('authentication')) {
279
+ return false;
280
+ }
281
+ return true; // Restart for other errors
282
+ },
283
+ },
284
+ })
285
+ async handleOrders(message: KafkaMessagePayload) {
286
+ // Process order
287
+ }
288
+ ```
289
+
231
290
  ### All Consumer Options
232
291
 
233
292
  ```typescript
@@ -235,6 +294,9 @@ interface ConsumerOptions {
235
294
  // Enable/disable consumer
236
295
  disabled?: boolean; // Default: false (skip registration when true)
237
296
 
297
+ // Message deserialization
298
+ deserialize?: boolean; // Default: true (auto JSON parse/string)
299
+
238
300
  // Consumer group settings
239
301
  groupId?: string;
240
302
  sessionTimeout?: number; // Default: 30000
@@ -267,6 +329,16 @@ interface ConsumerOptions {
267
329
  autoCommit?: boolean; // Default: true
268
330
  autoCommitInterval?: number;
269
331
  fromBeginning?: boolean; // Default: false
332
+
333
+ // Retry & restart on failure
334
+ retry?: {
335
+ retries?: number; // Default: 5
336
+ maxRetryTime?: number; // Default: 30000
337
+ initialRetryTime?: number; // Default: 300
338
+ factor?: number; // Default: 0.2
339
+ multiplier?: number; // Default: 2
340
+ restartOnFailure?: boolean | ((error: Error) => Promise<boolean>);
341
+ };
270
342
  }
271
343
  ```
272
344
 
@@ -7,9 +7,18 @@ export interface DlqOptions {
7
7
  includeOriginalHeaders?: boolean;
8
8
  includeErrorInfo?: boolean;
9
9
  }
10
+ export interface ConsumerRetryOptions {
11
+ retries?: number;
12
+ maxRetryTime?: number;
13
+ initialRetryTime?: number;
14
+ factor?: number;
15
+ multiplier?: number;
16
+ restartOnFailure?: boolean | ((error: Error) => Promise<boolean>);
17
+ }
10
18
  export interface ConsumerOptions {
11
19
  topic?: string;
12
20
  disabled?: boolean;
21
+ deserialize?: boolean;
13
22
  groupId?: string;
14
23
  sessionTimeout?: number;
15
24
  heartbeatInterval?: number;
@@ -29,6 +38,7 @@ export interface ConsumerOptions {
29
38
  autoCommitInterval?: number;
30
39
  autoCommitThreshold?: number;
31
40
  fromBeginning?: boolean;
41
+ retry?: ConsumerRetryOptions;
32
42
  }
33
43
  export interface ConsumerMetadata {
34
44
  topic: string;
@@ -1,6 +1,6 @@
1
- import { IHeaders } from 'kafkajs';
1
+ import { IHeaders, KafkaMessage } from 'kafkajs';
2
2
  export interface KafkaMessagePayload<T = any> {
3
- key?: string | Buffer | null;
3
+ key?: string | null;
4
4
  value: T;
5
5
  headers?: IHeaders;
6
6
  partition?: number;
@@ -8,6 +8,9 @@ export interface KafkaMessagePayload<T = any> {
8
8
  offset?: string;
9
9
  topic?: string;
10
10
  }
11
+ export declare function deserializeMessageValue(value: Buffer | null): any;
12
+ export declare function deserializeMessageKey(key: Buffer | string | null | undefined): string | null;
13
+ export declare function deserializeMessage<T = any>(message: KafkaMessage, topic?: string, partition?: number): KafkaMessagePayload<T>;
11
14
  export interface ProducerMessage {
12
15
  key?: string | Buffer | null;
13
16
  value: string | Buffer | object | null;
@@ -1,3 +1,38 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.deserializeMessageValue = deserializeMessageValue;
4
+ exports.deserializeMessageKey = deserializeMessageKey;
5
+ exports.deserializeMessage = deserializeMessage;
6
+ function deserializeMessageValue(value) {
7
+ if (value === null) {
8
+ return null;
9
+ }
10
+ const stringValue = value.toString('utf-8');
11
+ try {
12
+ return JSON.parse(stringValue);
13
+ }
14
+ catch {
15
+ return stringValue;
16
+ }
17
+ }
18
+ function deserializeMessageKey(key) {
19
+ if (key === null || key === undefined) {
20
+ return null;
21
+ }
22
+ if (Buffer.isBuffer(key)) {
23
+ return key.toString('utf-8');
24
+ }
25
+ return key;
26
+ }
27
+ function deserializeMessage(message, topic, partition) {
28
+ return {
29
+ key: deserializeMessageKey(message.key),
30
+ value: deserializeMessageValue(message.value),
31
+ headers: message.headers,
32
+ timestamp: message.timestamp,
33
+ offset: message.offset,
34
+ topic,
35
+ partition,
36
+ };
37
+ }
3
38
  //# sourceMappingURL=message.interface.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"message.interface.js","sourceRoot":"","sources":["../../lib/interfaces/message.interface.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"message.interface.js","sourceRoot":"","sources":["../../lib/interfaces/message.interface.ts"],"names":[],"mappings":";;AAkBA,0DAYC;AAOD,sDAUC;AAKD,gDAeC;AAjDD,SAAgB,uBAAuB,CAAC,KAAoB;IAC1D,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,WAAW,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAE5C,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IACjC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,WAAW,CAAC;IACrB,CAAC;AACH,CAAC;AAOD,SAAgB,qBAAqB,CACnC,GAAuC;IAEvC,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACzB,OAAO,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAKD,SAAgB,kBAAkB,CAChC,OAAqB,EACrB,KAAc,EACd,SAAkB;IAElB,OAAO;QACL,GAAG,EAAE,qBAAqB,CAAC,OAAO,CAAC,GAAG,CAAC;QAEvC,KAAK,EAAE,uBAAuB,CAAC,OAAO,CAAC,KAAK,CAAC;QAC7C,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,KAAK;QACL,SAAS;KACV,CAAC;AACJ,CAAC"}
@@ -20,6 +20,7 @@ const idempotency_service_1 = require("./services/idempotency.service");
20
20
  const pressure_manager_service_1 = require("./services/pressure-manager.service");
21
21
  const dlq_service_1 = require("./services/dlq.service");
22
22
  const kafka_health_indicator_1 = require("./health/kafka-health-indicator");
23
+ const terminus_1 = require("@nestjs/terminus");
23
24
  let KafkaModule = KafkaModule_1 = class KafkaModule {
24
25
  static forRoot(options) {
25
26
  const optionsProvider = {
@@ -28,7 +29,7 @@ let KafkaModule = KafkaModule_1 = class KafkaModule {
28
29
  };
29
30
  return {
30
31
  module: KafkaModule_1,
31
- imports: [core_1.DiscoveryModule],
32
+ imports: [core_1.DiscoveryModule, terminus_1.TerminusModule],
32
33
  providers: [
33
34
  optionsProvider,
34
35
  kafka_core_service_1.KafkaCoreService,
@@ -41,7 +42,13 @@ let KafkaModule = KafkaModule_1 = class KafkaModule {
41
42
  dlq_service_1.DlqService,
42
43
  kafka_health_indicator_1.KafkaHealthIndicator,
43
44
  ],
44
- exports: [kafka_client_service_1.KafkaClient, kafka_health_indicator_1.KafkaHealthIndicator, interfaces_1.KAFKA_MODULE_OPTIONS],
45
+ exports: [
46
+ kafka_client_service_1.KafkaClient,
47
+ kafka_health_indicator_1.KafkaHealthIndicator,
48
+ consumer_discovery_service_1.ConsumerDiscoveryService,
49
+ consumer_registry_service_1.ConsumerRegistryService,
50
+ interfaces_1.KAFKA_MODULE_OPTIONS,
51
+ ],
45
52
  };
46
53
  }
47
54
  static forRootAsync(options) {
@@ -61,7 +68,13 @@ let KafkaModule = KafkaModule_1 = class KafkaModule {
61
68
  dlq_service_1.DlqService,
62
69
  kafka_health_indicator_1.KafkaHealthIndicator,
63
70
  ],
64
- exports: [kafka_client_service_1.KafkaClient, kafka_health_indicator_1.KafkaHealthIndicator, interfaces_1.KAFKA_MODULE_OPTIONS],
71
+ exports: [
72
+ kafka_client_service_1.KafkaClient,
73
+ kafka_health_indicator_1.KafkaHealthIndicator,
74
+ consumer_discovery_service_1.ConsumerDiscoveryService,
75
+ consumer_registry_service_1.ConsumerRegistryService,
76
+ interfaces_1.KAFKA_MODULE_OPTIONS,
77
+ ],
65
78
  global: options.global ?? true,
66
79
  };
67
80
  }
@@ -1 +1 @@
1
- {"version":3,"file":"kafka.module.js","sourceRoot":"","sources":["../lib/kafka.module.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAAyE;AACzE,uCAA+C;AAC/C,6CAKsB;AACtB,sEAAiE;AACjE,0EAA8D;AAC9D,uFAAkF;AAClF,oFAA+E;AAC/E,gFAA2E;AAC3E,wEAAoE;AACpE,kFAA6E;AAC7E,wDAAoD;AACpD,4EAAuE;AAIhE,IAAM,WAAW,mBAAjB,MAAM,WAAW;IACtB,MAAM,CAAC,OAAO,CAAC,OAA2B;QACxC,MAAM,eAAe,GAAa;YAChC,OAAO,EAAE,iCAAoB;YAC7B,QAAQ,EAAE,OAAO;SAClB,CAAC;QAEF,OAAO;YACL,MAAM,EAAE,aAAW;YACnB,OAAO,EAAE,CAAC,sBAAe,CAAC;YAC1B,SAAS,EAAE;gBACT,eAAe;gBACf,qCAAgB;gBAChB,kCAAW;gBACX,qDAAwB;gBACxB,mDAAuB;gBACvB,+CAAqB;gBACrB,wCAAkB;gBAClB,iDAAsB;gBACtB,wBAAU;gBACV,6CAAoB;aACrB;YACD,OAAO,EAAE,CAAC,kCAAW,EAAE,6CAAoB,EAAE,iCAAoB,CAAC;SACnE,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,YAAY,CAAC,OAAgC;QAClD,MAAM,cAAc,GAAG,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;QAE1D,OAAO;YACL,MAAM,EAAE,aAAW;YACnB,OAAO,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,sBAAe,CAAC;YACtD,SAAS,EAAE;gBACT,GAAG,cAAc;gBACjB,qCAAgB;gBAChB,kCAAW;gBACX,qDAAwB;gBACxB,mDAAuB;gBACvB,+CAAqB;gBACrB,wCAAkB;gBAClB,iDAAsB;gBACtB,wBAAU;gBACV,6CAAoB;aACrB;YACD,OAAO,EAAE,CAAC,kCAAW,EAAE,6CAAoB,EAAE,iCAAoB,CAAC;YAClE,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,IAAI;SAC/B,CAAC;IACJ,CAAC;IAEO,MAAM,CAAC,oBAAoB,CACjC,OAAgC;QAEhC,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;YACvB,OAAO;gBACL;oBACE,OAAO,EAAE,iCAAoB;oBAC7B,UAAU,EAAE,OAAO,CAAC,UAAU;oBAC9B,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,EAAE;iBAC7B;aACF,CAAC;QACJ,CAAC;QAED,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,WAAW,CAAC;QACzD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACrD,CAAC;QAED,OAAO;YACL;gBACE,OAAO,EAAE,iCAAoB;gBAC7B,UAAU,EAAE,KAAK,EAAE,cAAmC,EAAE,EAAE,CACxD,MAAM,cAAc,CAAC,kBAAkB,EAAE;gBAC3C,MAAM,EAAE,CAAC,QAAQ,CAAC;aACnB;YACD,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;SAC/D,CAAC;IACJ,CAAC;CACF,CAAA;AA7EY,kCAAW;sBAAX,WAAW;IAFvB,IAAA,eAAM,GAAE;IACR,IAAA,eAAM,EAAC,EAAE,CAAC;GACE,WAAW,CA6EvB"}
1
+ {"version":3,"file":"kafka.module.js","sourceRoot":"","sources":["../lib/kafka.module.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAAyE;AACzE,uCAA+C;AAC/C,6CAKsB;AACtB,sEAAiE;AACjE,0EAA8D;AAC9D,uFAAkF;AAClF,oFAA+E;AAC/E,gFAA2E;AAC3E,wEAAoE;AACpE,kFAA6E;AAC7E,wDAAoD;AACpD,4EAAuE;AACvE,+CAAkD;AAI3C,IAAM,WAAW,mBAAjB,MAAM,WAAW;IACtB,MAAM,CAAC,OAAO,CAAC,OAA2B;QACxC,MAAM,eAAe,GAAa;YAChC,OAAO,EAAE,iCAAoB;YAC7B,QAAQ,EAAE,OAAO;SAClB,CAAC;QAEF,OAAO;YACL,MAAM,EAAE,aAAW;YACnB,OAAO,EAAE,CAAC,sBAAe,EAAE,yBAAc,CAAC;YAC1C,SAAS,EAAE;gBACT,eAAe;gBACf,qCAAgB;gBAChB,kCAAW;gBACX,qDAAwB;gBACxB,mDAAuB;gBACvB,+CAAqB;gBACrB,wCAAkB;gBAClB,iDAAsB;gBACtB,wBAAU;gBACV,6CAAoB;aACrB;YACD,OAAO,EAAE;gBACP,kCAAW;gBACX,6CAAoB;gBACpB,qDAAwB;gBACxB,mDAAuB;gBACvB,iCAAoB;aACrB;SACF,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,YAAY,CAAC,OAAgC;QAClD,MAAM,cAAc,GAAG,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;QAE1D,OAAO;YACL,MAAM,EAAE,aAAW;YACnB,OAAO,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,sBAAe,CAAC;YACtD,SAAS,EAAE;gBACT,GAAG,cAAc;gBACjB,qCAAgB;gBAChB,kCAAW;gBACX,qDAAwB;gBACxB,mDAAuB;gBACvB,+CAAqB;gBACrB,wCAAkB;gBAClB,iDAAsB;gBACtB,wBAAU;gBACV,6CAAoB;aACrB;YACD,OAAO,EAAE;gBACP,kCAAW;gBACX,6CAAoB;gBACpB,qDAAwB;gBACxB,mDAAuB;gBACvB,iCAAoB;aACrB;YACD,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,IAAI;SAC/B,CAAC;IACJ,CAAC;IAEO,MAAM,CAAC,oBAAoB,CACjC,OAAgC;QAEhC,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;YACvB,OAAO;gBACL;oBACE,OAAO,EAAE,iCAAoB;oBAC7B,UAAU,EAAE,OAAO,CAAC,UAAU;oBAC9B,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,EAAE;iBAC7B;aACF,CAAC;QACJ,CAAC;QAED,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,WAAW,CAAC;QACzD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACrD,CAAC;QAED,OAAO;YACL;gBACE,OAAO,EAAE,iCAAoB;gBAC7B,UAAU,EAAE,KAAK,EAAE,cAAmC,EAAE,EAAE,CACxD,MAAM,cAAc,CAAC,kBAAkB,EAAE;gBAC3C,MAAM,EAAE,CAAC,QAAQ,CAAC;aACnB;YACD,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;SAC/D,CAAC;IACJ,CAAC;CACF,CAAA;AAzFY,kCAAW;sBAAX,WAAW;IAFvB,IAAA,eAAM,GAAE;IACR,IAAA,eAAM,EAAC,EAAE,CAAC;GACE,WAAW,CAyFvB"}
@@ -1,5 +1,5 @@
1
1
  import { KafkaMessage, EachBatchPayload } from 'kafkajs';
2
- import { ConsumerOptions, GroupedBatch } from '../interfaces';
2
+ import { ConsumerOptions, GroupedBatch, KafkaMessagePayload } from '../interfaces';
3
3
  interface BatchAccumulator {
4
4
  add: (message: KafkaMessage) => Promise<void>;
5
5
  onFlush: (callback: (messages: KafkaMessage[]) => Promise<void>) => void;
@@ -9,8 +9,8 @@ interface BatchAccumulator {
9
9
  export declare class BatchProcessorService {
10
10
  private readonly logger;
11
11
  createBatchAccumulator(options: ConsumerOptions): BatchAccumulator;
12
- groupMessagesByKey<T>(messages: KafkaMessage[]): GroupedBatch<T>[];
12
+ groupMessagesByKey<T>(messages: Array<KafkaMessage | KafkaMessagePayload<T>>): GroupedBatch<T>[];
13
13
  processBatch<T>(messages: KafkaMessage[], options: ConsumerOptions, handler: (messages: KafkaMessage[] | GroupedBatch<T>[]) => Promise<void>): Promise<void>;
14
- createEachBatchHandler(options: ConsumerOptions, handler: (messages: KafkaMessage[]) => Promise<void>): (payload: EachBatchPayload) => Promise<void>;
14
+ createEachBatchHandler(options: ConsumerOptions, handler: (messages: KafkaMessage[], topic: string, partition: number) => Promise<void>): (payload: EachBatchPayload) => Promise<void>;
15
15
  }
16
16
  export {};
@@ -78,11 +78,12 @@ let BatchProcessorService = BatchProcessorService_1 = class BatchProcessorServic
78
78
  }
79
79
  }
80
80
  createEachBatchHandler(options, handler) {
81
- const accumulator = this.createBatchAccumulator(options);
82
- accumulator.onFlush(async (messages) => {
83
- await this.processBatch(messages, options, handler);
84
- });
85
81
  const batchHandler = async (payload) => {
82
+ const { topic, partition } = payload.batch;
83
+ const accumulator = this.createBatchAccumulator(options);
84
+ accumulator.onFlush(async (messages) => {
85
+ await handler(messages, topic, partition);
86
+ });
86
87
  for (const message of payload.batch.messages) {
87
88
  if (!payload.isRunning() || payload.isStale())
88
89
  break;
@@ -1 +1 @@
1
- {"version":3,"file":"batch-processor.service.js","sourceRoot":"","sources":["../../lib/services/batch-processor.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"batch-processor.service.js","sourceRoot":"","sources":["../../lib/services/batch-processor.service.ts"],"names":[],"mappings":"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"}
@@ -17,6 +17,7 @@ export declare class ConsumerRegistryService implements OnApplicationShutdown {
17
17
  constructor(kafkaCore: KafkaCoreService, batchProcessor: BatchProcessorService, idempotencyService: IdempotencyService, pressureManager: PressureManagerService, dlqService: DlqService);
18
18
  registerConsumers(consumers: ConsumerMetadata[]): void;
19
19
  private registerConsumer;
20
+ private buildRestartOnFailure;
20
21
  startAll(): Promise<void>;
21
22
  private startConsumer;
22
23
  private startMessageConsumer;
@@ -17,6 +17,7 @@ const batch_processor_service_1 = require("./batch-processor.service");
17
17
  const idempotency_service_1 = require("./idempotency.service");
18
18
  const pressure_manager_service_1 = require("./pressure-manager.service");
19
19
  const dlq_service_1 = require("./dlq.service");
20
+ const interfaces_1 = require("../interfaces");
20
21
  let ConsumerRegistryService = ConsumerRegistryService_1 = class ConsumerRegistryService {
21
22
  kafkaCore;
22
23
  batchProcessor;
@@ -47,6 +48,15 @@ let ConsumerRegistryService = ConsumerRegistryService_1 = class ConsumerRegistry
47
48
  heartbeatInterval: options.heartbeatInterval,
48
49
  rebalanceTimeout: options.rebalanceTimeout,
49
50
  maxBytesPerPartition: 1048576,
51
+ retry: options.retry
52
+ ? {
53
+ retries: options.retry.retries,
54
+ maxRetryTime: options.retry.maxRetryTime,
55
+ initialRetryTime: options.retry.initialRetryTime,
56
+ factor: options.retry.factor,
57
+ multiplier: options.retry.multiplier,
58
+ }
59
+ : undefined,
50
60
  });
51
61
  this.pressureManager.register(consumerId, consumer, {
52
62
  backPressureThreshold: options.backPressureThreshold || 80,
@@ -61,6 +71,15 @@ let ConsumerRegistryService = ConsumerRegistryService_1 = class ConsumerRegistry
61
71
  });
62
72
  this.logger.log(`Registered consumer: ${consumerId}`);
63
73
  }
74
+ buildRestartOnFailure(retry) {
75
+ if (!retry?.restartOnFailure) {
76
+ return undefined;
77
+ }
78
+ if (typeof retry.restartOnFailure === 'function') {
79
+ return retry.restartOnFailure;
80
+ }
81
+ return () => Promise.resolve(retry.restartOnFailure);
82
+ }
64
83
  async startAll() {
65
84
  const startPromises = Array.from(this.registeredConsumers.values()).map((registered) => this.startConsumer(registered));
66
85
  await Promise.all(startPromises);
@@ -92,10 +111,13 @@ let ConsumerRegistryService = ConsumerRegistryService_1 = class ConsumerRegistry
92
111
  const { metadata, consumer } = registered;
93
112
  const { topic, options, target, methodName } = metadata;
94
113
  const handler = target[methodName].bind(target);
114
+ const restartOnFailure = this.buildRestartOnFailure(options.retry);
95
115
  await consumer.run({
96
116
  autoCommit: options.autoCommit !== false,
97
117
  autoCommitInterval: options.autoCommitInterval,
98
118
  autoCommitThreshold: options.autoCommitThreshold,
119
+ partitionsConsumedConcurrently: options.partitionsConsumedConcurrently,
120
+ ...(restartOnFailure && { restartOnFailure }),
99
121
  eachMessage: async (payload) => {
100
122
  if (this.isShuttingDown)
101
123
  return;
@@ -107,7 +129,10 @@ let ConsumerRegistryService = ConsumerRegistryService_1 = class ConsumerRegistry
107
129
  }
108
130
  }
109
131
  try {
110
- await handler(message);
132
+ const processedMessage = options.deserialize !== false
133
+ ? (0, interfaces_1.deserializeMessage)(message, topic, partition)
134
+ : message;
135
+ await handler(processedMessage);
111
136
  if (options.idempotencyKey) {
112
137
  this.idempotencyService.markProcessed(message, options.idempotencyKey);
113
138
  }
@@ -123,19 +148,23 @@ let ConsumerRegistryService = ConsumerRegistryService_1 = class ConsumerRegistry
123
148
  const { metadata, consumer } = registered;
124
149
  const { options, target, methodName } = metadata;
125
150
  const handler = target[methodName].bind(target);
126
- const eachBatchHandler = this.batchProcessor.createEachBatchHandler(options, async (messages) => {
151
+ const restartOnFailure = this.buildRestartOnFailure(options.retry);
152
+ const eachBatchHandler = this.batchProcessor.createEachBatchHandler(options, async (messages, topic, partition) => {
127
153
  if (this.isShuttingDown)
128
154
  return;
129
155
  let processableMessages = messages;
130
156
  if (options.idempotencyKey) {
131
157
  processableMessages = this.idempotencyService.filterDuplicates(messages, options.idempotencyKey);
132
158
  }
159
+ const deserializedMessages = options.deserialize !== false
160
+ ? processableMessages.map((msg) => (0, interfaces_1.deserializeMessage)(msg, topic, partition))
161
+ : processableMessages;
133
162
  if (options.groupByKey) {
134
- const grouped = this.batchProcessor.groupMessagesByKey(processableMessages);
163
+ const grouped = this.batchProcessor.groupMessagesByKey(deserializedMessages);
135
164
  await handler(grouped);
136
165
  }
137
166
  else {
138
- await handler(processableMessages);
167
+ await handler(deserializedMessages);
139
168
  }
140
169
  if (options.idempotencyKey) {
141
170
  for (const msg of processableMessages) {
@@ -145,6 +174,8 @@ let ConsumerRegistryService = ConsumerRegistryService_1 = class ConsumerRegistry
145
174
  });
146
175
  await consumer.run({
147
176
  autoCommit: false,
177
+ partitionsConsumedConcurrently: options.partitionsConsumedConcurrently,
178
+ ...(restartOnFailure && { restartOnFailure }),
148
179
  eachBatch: eachBatchHandler,
149
180
  });
150
181
  }
@@ -1 +1 @@
1
- {"version":3,"file":"consumer-registry.service.js","sourceRoot":"","sources":["../../lib/services/consumer-registry.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"consumer-registry.service.js","sourceRoot":"","sources":["../../lib/services/consumer-registry.service.ts"],"names":[],"mappings":"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"}