Automações

Eventos do sistema (Event Bus)

Comunicação entre módulos via eventos

O Event Bus é o sistema central de comunicação entre módulos da P8W. Quando algo acontece em um módulo, outros módulos podem reagir automaticamente via eventos, criando uma arquitetura desacoplada e extensível.

Como funciona

  1. Um módulo emite um evento quando uma ação ocorre (ex: "user.created" quando um novo usuário se cadastra).
  2. Outros módulos que estão ouvindo (listeners) esse evento reagem automaticamente sem que o emissor precise saber quem são.
  3. A comunicação é desacoplada — módulos não chamam uns aos outros diretamente, comunicam-se apenas por eventos.
  4. Cada listener tem uma prioridade de execução e pode interromper a cadeia se necessário.

Categorias de eventos

CategoriaEventosExemplo de reação
Usuáriosuser.created, user.updated, user.login, user.logout, user.password.changedOnboarding cria tour de boas-vindas
Tenantstenant.created, tenant.updated, tenant.suspendedBilling cria primeiro plano, Campaign envia e-mail
Pagamentosinvoice.created, invoice.paid, invoice.overdueCRM atualiza deal, Campaign agradece
Pluginsplugin.activated, plugin.deactivatedMenuService atualiza sidebar
Segurançasecurity.breach, security.rate.limitedLogs registra, admin é notificado
Tarefastask.created, task.completedPlanner recalcula sprint, Insights atualiza

Exemplos de fluxos encadeados

  • user.created → Onboarding cria tour + Campaign adiciona à lista de novos + Intelligence registra para análise + Push solicita permissão de notificação.
  • invoice.paid → Billing atualiza status + Campaign envia agradecimento + Business atualiza deal + Insights recalcula MRR.
  • task.completed → Planner atualiza progresso do sprint + Insights recalcula produtividade + notificação push para o gestor.
  • deal.stage.changed → Automation executa workflow associado + Campaign dispara e-mail de acompanhamento + Intelligence analisa probabilidade de fechamento.

Wildcards e padrões

Listeners podem usar wildcards para reagir a múltiplos eventos de uma vez:

  • user.* — reage a qualquer evento de usuário (created, updated, login, etc.).
  • invoice.* — reage a qualquer evento de fatura.
  • security.* — reage a qualquer evento de segurança.

Painel de monitoramento

O painel de eventos (Configurações → Avançado → Eventos) permite:

  • Visualizar todos os eventos registrados no sistema.
  • Ver quais listeners estão ouvindo cada evento (e suas prioridades).
  • Acessar logs de execução recente com status (sucesso/erro) e duração.
  • Testar emissão manual de eventos para debug.

Eventos assíncronos

Eventos que envolvem operações lentas (ex: envio de e-mail, processamento de relatório) são executados via fila (Queue), sem bloquear a resposta da requisição do usuário.

Este artigo foi útil?

Perguntas e Respostas

Nenhuma pergunta ainda. Seja o primeiro a perguntar!

Tem uma dúvida sobre este artigo?

CAPTCHA

Ainda precisa de ajuda?

Nossa equipe está pronta para ajudar via suporte.