Об этом проекте

nestx-amqp предоставляет AMQP-подключение в качестве модуля NestJS, внутренне используя amqp-connection-manager. Он опубликован на npm и выпущен под лицензией MIT. Возможности - Предоставляет AmqpModule, который асинхронно создает AmqpConnectionManager. - Предоставляет глобально инъектируемый менеджер AMQP-соединений. - Предоставляет декораторы методов, такие как @PublishQueue и @SubscribeQueue, для простого использования. Установка - yarn add nestx-amqp Использование - Зарегистрируйте модуль асинхронно с помощью AmqpModule.forRootAsync, указав URL-адреса подключения (например, amqp://guest:guest@localhost:5672?heartbeat=60). - Внедрите менеджер соединений, используя символ AMQP_CONNECTION. В README показан абстрактный производитель, который создает канал с json:true и обратным вызовом настройки, подтверждающим очередь, ожидает подключения и отправляет сообщения в очередь. Декораторы - @PublishQueue(queue: string | Queue, options?: amqplib.Options.Publish) — декоратор метода для публикации сообщения в очередь. Декорированный метод принимает содержимое и необязательные параметры публикации. - @SubscribeQueue(nameOrQueue: string | Queue, options?: ConsumeQueueOptions) — декоратор метода для потребления сообщений с простой логикой повторной постановки в очередь. ConsumeQueueOptions объединяет prefetch, необязательную exceptionQueue и необязательные настройки повтора (maxAttempts). - @PublishExchange(exchange: string | Exchange, options?: PublishExchangeOptions) публикует в обменник; в README указано, что он нестабилен, и для использования следует обращаться к модульным тестам. - @UseAmqpConnection(name?: string) указывает, какое именованное соединение использовать с @PublishQueue или @SubscribeQueue; рекомендуется при разработке npm-пакетов, которым требуется конкретное именованное соединение. Интерфейсы - Queue: имя и необязательные параметры AssertQueue. - Exchange: имя, тип (direct, fanout, topic, headers) и необязательные параметры AssertExchange. - PublishExchangeOptions: routingKey и необязательные параметры Publish. - RetryOptions: maxAttempts. - BaseConsumeOptions: prefetch и необязательная exceptionQueue. Примечания - В README указано, что поддержка декораторов в настоящее время охватывает только прямую публикацию и подписку на очередь. - Примеры требуют регистрации и включения AmqpModule. - Более подробная информация, как указано, доступна в модульных тестах, а также упоминается CHANGELOG.md.