UNPKG

@vtexlab/planner-message-bus

Version:

A Message Bus that uses AWS SNS, AWS SQS, and AWS EventBridge

33 lines (32 loc) 961 B
import { Message } from '@aws-sdk/client-sqs'; import { Span } from '@opentelemetry/api'; import { IMessage } from '@vtexlab/planner-contracts/build/types/utils/types'; export interface MessageContext<TMessage extends IMessage> extends Message { Content?: TMessage; } export type TagsResourceInput = { Key: string; Value: string; }; export declare class ConsumerParams<TMessage extends IMessage> { endpoint: string; handle: (message: MessageContext<TMessage>, traceSpan: Span | undefined) => Promise<void>; maxRetryCount: number; delaySeconds: number; batchSize: number; } export type ScheduleParams<TMessage> = { id: string; message: TMessage; scheduleDate: Date; topicName: string; }; export interface Config { region: string; account: string; credentials: { accessKeyId: string; secretAccessKey: string; }; environment: 'local' | 'development' | 'staging' | 'production'; }