@vtexlab/planner-message-bus
Version:
A Message Bus that uses AWS SNS, AWS SQS, and AWS EventBridge
9 lines (8 loc) • 1.13 kB
TypeScript
import { Consumer } from 'sqs-consumer';
import { SendMessageCommandOutput } from '@aws-sdk/client-sqs';
import { ConsumerParams, MessageContext } from '../utils/types';
import { Span } from '@opentelemetry/api';
import { IMessage } from '@vtexlab/planner-contracts/build/types/utils/types';
export declare function redeliveryMessageQueue<TMessage extends IMessage>(queueName: string, delaySeconds: number, message: MessageContext<TMessage>, sendParams?: {}, stoppedCondition?: (startsAt: Date, currentAt: Date, attempt: number) => boolean, callback?: (output: SendMessageCommandOutput, span: Span | undefined) => void, errorCallback?: (error: any, span: Span | undefined) => void): Promise<string | undefined>;
export declare function sendMessageQueue<TMessage extends IMessage>(queueName: string, contentMessage: TMessage, sendParams?: {}, callback?: (output: SendMessageCommandOutput, span: Span | undefined) => void, errorCallback?: (error: any, span: Span | undefined) => void): Promise<string | undefined>;
export declare function createConsumerMessages<TMessage extends IMessage>(params: ConsumerParams<TMessage>): Consumer;