UNPKG

peanar

Version:

A job queue for Node.js based on RabbitMQ

37 lines (36 loc) 1.3 kB
import { IConnectionParams } from 'ts-amqp/dist/interfaces/Connection'; import ChannelPool from 'ts-amqp/dist/classes/ChannelPool'; import { IExchange } from 'ts-amqp/dist/interfaces/Exchange'; import { IQueue, IBinding } from 'ts-amqp/dist/interfaces/Queue'; import { IMessage } from 'ts-amqp/dist/interfaces/Basic'; interface IBrokerOptions { connection?: IConnectionParams; poolSize: number; prefetch?: number; } /** * Peanar's broker adapter */ export default class PeanarBroker { private config; private conn?; private _connectPromise?; pool?: ChannelPool; constructor(config: IBrokerOptions); private _connect; /** * Initializes adapter connection and channel */ connect: () => Promise<void>; shutdown(): Promise<void>; queues(queues: IQueue[]): Promise<import("ts-amqp/dist/interfaces/Queue").IQueueDeclareResponse[]>; exchanges(exchanges: IExchange[]): Promise<void[]>; bindings(bindings: IBinding[]): Promise<void[]>; consume(queue: string): Promise<import("ts-amqp/dist/classes/Consumer").default>; consumeOver(queues: string[]): Promise<{ queue: string; consumer: import("ts-amqp/dist/classes/Consumer").default; }>[]; publish(message: IMessage<unknown>): Promise<boolean>; } export {};