-
Notifications
You must be signed in to change notification settings - Fork 0
/
producer.ts
34 lines (31 loc) · 1009 Bytes
/
producer.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
import { IConnectorConfig, IConnector } from '@biorate/connector';
import {
Producer,
ProducerTopicConfig,
TopicPartitionOffset,
KafkaConsumer,
MetadataOptions,
ProducerGlobalConfig,
} from 'node-rdkafka';
export type IRDKafkaProducerConfig = IConnectorConfig & {
global: ProducerGlobalConfig;
topic?: ProducerTopicConfig;
pollInterval?: number;
};
// noinspection JSAnnotator
export interface IRDKafkaProducerConnection extends Producer {
connectPromise(metadataOptions?: MetadataOptions): Promise<this>;
initTransactionsPromise(timeout?: number): Promise<void>;
beginTransactionPromise(): Promise<void>;
commitTransactionPromise(timeout?: number): Promise<void>;
abortTransactionPromise(timeout?: number): Promise<void>;
sendOffsetsToTransactionPromise(
offsets: TopicPartitionOffset[],
consumer: KafkaConsumer,
timeout?: number,
): Promise<void>;
}
export type IRDKafkaProducerConnector = IConnector<
IRDKafkaProducerConfig,
IRDKafkaProducerConnection
>;