kafka-sagas
Version:
Build sagas that consume from a kafka topic
26 lines (25 loc) • 941 B
TypeScript
import { Kafka } from 'kafkajs';
import { IAction, SagaProducerConfig } from './types';
import pino from 'pino';
export declare class ThrottledProducer {
protected kafka: Kafka;
protected producerConfig: SagaProducerConfig;
recordsSent: number;
private producer;
private isConnected;
private intervalTimeout;
private recordQueue;
private isFlushing;
private logger;
constructor(kafka: Kafka, producerConfig?: SagaProducerConfig, logger?: pino.Logger);
putAction: <Action extends IAction<import("./types").DefaultPayload>>(action: Action, messageConfig?: {
/**
* If using transactionId as a message key, messages in a transaction will be processed in order.
*/
useTransactionIdAsKey?: boolean;
}) => Promise<void>;
connect: () => Promise<void>;
disconnect: () => Promise<void>;
private createProducer;
private flush;
}