Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

  • Implementar o Worker Controle Evento responsável por identificar registros pendentes no BD Controle, tabela ControleEventos, e acionar o fluxo de envio de dados para os MS especializados.

03. SOLUÇÃO

  • O Worker RTS envia uma mensagem via PubSub alertando (com o Id do dado na tabela “ControleEvento”) o Worker de Eventos que existem dados para serem enviados;
  • O Worker de Eventos lê a mensagem do PubSub e inicia a rotina que consiste em:
    • Ler a tabela  “ControleEvento” e obter os dados com status “pendente”;
    • Identificar o tipo do evento:
      1. Simples - Apenas notifica que tem dados para consumo;
      2. Completa - Envia os  dados para um destino;
    • Monta requisição com as informações necessárias (ex: url e credencial de destino etc), envia essa requisição para o MS Responsável via http e incrementa o campo “quantidade_notificacoes”;
    • Se ocorrer falha na leitura da mensagem, o status do dado no banco do MS Fila é alterado para “FalhaPedidoNotificacao” e a mensagem de erro armazenada no campo “mensagem_erro”.
  • O MS Responsável recebe a requisição e executa a ação de notificação, seguindo os parâmetros enviados;
    • Em caso de sucesso, o MS retorna 200 para o Worker de Eventos e  este por sua vez:
      1. Altera o status do dado para “Entregue” (ou “Notificado”, se a notificação for do tipo Simples) no banco do MS Fila;
      2. Altera o status para “processado” na tabela de “ControleEvento”.
    • Em caso de falha, o MS retorna 400 com o erro para o Worker de Eventos e este por sua vez:
      1. Altera o status do dado para “FalhaNotificacao” no banco do MS Fila;
      2. Altera o status para “erro” na tabela de “ControleEvento”.
      3. A mensagem de erro é armazenada em ambos os bancos.

...

  • Worker de eventos concluído e ativo no ambiente de DEV
    • Ao enviar uma mensagem com o ID da tabela ControleEvento foi processado com sucesso:
    • Image Added