Sobre o projeto

nestx-amqp fornece uma conexão AMQP como um módulo NestJS, usando amqp-connection-manager internamente. Está publicado no npm e lançado sob a Licença MIT. Recursos - Fornece um AmqpModule que cria um AmqpConnectionManager assincronamente. - Fornece um gerenciador de conexão AMQP globalmente injetável. - Fornece decoradores de método como @PublishQueue e @SubscribeQueue para uso simples. Instalação - yarn add nestx-amqp Uso - Registre o módulo assincronamente com AmqpModule.forRootAsync, fornecendo URLs de conexão (por exemplo, amqp://guest:guest@localhost:5672?heartbeat=60). - Injete o gerenciador de conexão usando o símbolo AMQP_CONNECTION. O README mostra um produtor abstrato que cria um canal com json:true e um callback de configuração que declara uma fila, aguarda a conexão e envia mensagens para a fila. Decoradores - @PublishQueue(queue: string | Queue, options?: amqplib.Options.Publish) é um decorador de método para publicar uma mensagem em uma fila. O método decorado recebe conteúdo e opções de publicação opcionais. - @SubscribeQueue(nameOrQueue: string | Queue, options?: ConsumeQueueOptions) é um decorador de método para consumir mensagens, com lógica simples de reenfileiramento. ConsumeQueueOptions combina prefetch, uma exceptionQueue opcional e configurações de repetição opcionais (maxAttempts). - @PublishExchange(exchange: string | Exchange, options?: PublishExchangeOptions) publica em uma exchange; o README o marca como não estável e aponta para testes de unidade para uso. - @UseAmqpConnection(name?: string) especifica qual conexão nomeada usar com @PublishQueue ou @SubscribeQueue, recomendado ao desenvolver pacotes npm que precisam de uma conexão nomeada específica. Interfaces - Queue: nome e opções AssertQueue opcionais. - Exchange: nome, tipo (direct, fanout, topic, headers) e opções AssertExchange opcionais. - PublishExchangeOptions: routingKey e opções Publish opcionais. - RetryOptions: maxAttempts. - BaseConsumeOptions: prefetch e exceptionQueue opcional. Notas - O README afirma que o suporte a decoradores atualmente cobre apenas publicação e assinatura direta de filas. - Exemplos exigem registrar e habilitar o AmqpModule. - Mais detalhes estão disponíveis nos casos de teste de unidade, e um CHANGELOG.md é referenciado.