UNPKG

@awesomeniko/kafka-trail

Version:

A Node.js library for managing message queue with Kafka

36 lines (35 loc) 1.31 kB
import type Kafka from "kafkajs"; import type { PartitionAssigner } from "kafkajs"; import type { KafkaTopicName } from "../libs/branded-types/kafka/index.js"; import type { KafkaWithLogger, KafkaBrokerConfig } from "./kafka-broker.js"; import { KTKafkaBroker } from "./kafka-broker.js"; export type KTKafkaConsumerConfig = { kafkaSettings: { consumerGroupId: string; subscribeRetries?: number; subscribeRetryInterval?: number; heartbeatInterval?: number; partitionsConsumedConcurrently?: number; heartbeatEarlyFactor?: number; sessionTimeout?: number; maxWaitTimeInMs?: number; maxBytesPerPartition?: number; maxInFlightRequests?: number; batchConsuming?: boolean; rebalanceTimeout?: number; maxBytes?: number; partitionAssignerFn?: PartitionAssigner; }; } & KafkaBrokerConfig; declare class KTKafkaConsumer extends KTKafkaBroker { #private; heartBeatInterval: number; consumer: Kafka.Consumer; heartbeatEarlyFactor: number; constructor(params: KafkaWithLogger<KTKafkaConsumerConfig>); isConnected(): boolean; init(): Promise<boolean>; destroy(): Promise<void>; subscribeTopic(topics: KafkaTopicName[]): Promise<void>; } export { KTKafkaConsumer };