UNPKG

@qbatch/sqs-consumer

Version:

Build SQS-based Node applications without the boilerplate

49 lines (48 loc) 1.47 kB
import * as SQS from 'aws-sdk/clients/sqs'; import { EventEmitter } from 'events'; declare type SQSMessage = SQS.Types.Message; export interface ConsumerOptions { queueUrl?: string; attributeNames?: string[]; messageAttributeNames?: string[]; stopped?: boolean; batchSize?: number; visibilityTimeout?: number; waitTimeSeconds?: number; authenticationErrorTimeout?: number; terminateVisibilityTimeout?: boolean; sqs?: SQS; region?: string; handleMessageTimeout?: number; handleMessage(message: object): Promise<void>; preProcessMessages(messages: SQSMessage[]): object[]; } export declare class Consumer extends EventEmitter { private queueUrl; private handleMessage; private handleMessageTimeout; private attributeNames; private messageAttributeNames; private stopped; private batchSize; private visibilityTimeout; private waitTimeSeconds; private authenticationErrorTimeout; private terminateVisibilityTimeout; private sqs; private preProcessMessages; constructor(options: ConsumerOptions); readonly isRunning: boolean; static create(options: ConsumerOptions): Consumer; start(): void; stop(): void; private handleSqsResponse; private processMessage; private receiveMessage; private deleteMessage; private executeHandler; private terminateVisabilityTimeout; private emitError; private poll; } export {};