Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.pingoai.com.br/llms.txt

Use this file to discover all available pages before exploring further.

Papel do channel-2

O channel-2 e o servico de integracoes e canais (WhatsApp/Baileys, Meta e fluxos de envio/recebimento), com suporte a:
  • Processamento de eventos de mensagem.
  • Envio de mensagens via handlers.
  • Integracao por RabbitMQ com o backend.

Dependencias de infraestrutura

  • PostgreSQL
  • Redis
  • RabbitMQ
  • MinIO (anexos)

Como ele conversa com o backend

  1. O backend solicita operacoes (ex.: consultar contato/foto) via filas RabbitMQ.
  2. O channel consome e processa.
  3. O channel publica eventos/notificacoes quando necessario.
  4. O backend consome e atualiza estado/socket para o frontend.
Filas RPC principais nessa conversa:
  • check-contact-number-queue
  • get-profile-picture-queue
  • create-or-update-contact-queue
  • notification-queue (retorno para backend -> Socket.IO)

Event bus no channel

O channel inicializa um EventBus RabbitMQ com:
  • RABBITMQ_URI
  • RABBITMQ_QUEUE_NAME (padrao local: event-bus-queue)
No deploy, essa fila e separada por servico (channel-event-bus-queue) para isolamento.

Processamento e performance no channel

  • Concorrencia do Event Bus: 5.
  • Transporte custom com retry + DLQ no rabbitmq-transport.ts.
  • Publicacao com confirm em producers RPC/queue.
  • Em alta carga, monitorar backlog de filas e tempo medio de resposta RPC.

Subida local do channel

cd channel-2
npm install
npm run db:migrate
npm run db:seed
npm run dev:server