UNPKG

@cn-shell/aws-utils

Version:
45 lines (44 loc) 1.24 kB
import { Base, Opts } from "./aws-base"; import AWS_SQS from "aws-sdk/clients/sqs"; export interface SenderOpts extends Opts { queue: string; fifo?: boolean; } export interface ReceiverOpts extends Opts { queue: string; pollInterval: number; backoffInterval: number; msgProcesser: (msgs: AWS_SQS.Message[]) => Promise<number[]>; } export declare class Sender extends Base { private readonly _queue; private _sqs; private _fifo; constructor(name: string, opts: SenderOpts); start(): Promise<boolean>; injectMessage(msg: string): Promise<boolean>; sendMessage( msg: string, attribs?: AWS_SQS.MessageBodyAttributeMap, msgGroupID?: string, ): Promise<boolean>; stop(): Promise<void>; healthCheck(): Promise<boolean>; } export declare class Receiver extends Base { private readonly _queue; private _sqs; private _pollInterval; private _backoffInterval; private _nowReceiving; private _stopNow; private _processMessages; constructor(name: string, opts: ReceiverOpts); start(): Promise<boolean>; private startReceiving; injectMessages(msgs: string): Promise<number>; private receiveMessage; stop(): Promise<void>; private stopReceiving; healthCheck(): Promise<boolean>; }