Navegação

    Fórum Técnico Insoft4

    • Login
    • Pesquisar

    insoft-report-executor - SYNC mode

    Aplicações Auxiliares
    1
    1
    11
    Carregando Mais Posts
    • Mais Antigo para Mais Recente
    • Mais Recente para Mais Antigo
    • Mais Votados
    Responder
    • Responder como tópico
    Entre para responder
    Este tópico foi deletado. Apenas usuários com privilégios de moderação de tópico podem vê-lo.
    • G
      gustavo_siqueira Desenvolvimento última edição por

      O modo de operação padrão do insoft-report-executor é ASYNC. Isso significa que os relatórios agendados são executados conforme a fila de agendamentos usando os recursos configurados na aplicação (threads disponíveis etc.). Essa é a maneira como os relatórios das aplicações são gerados: o agendamento é um "processo agendado" que precisa aguardar a geração.

      Em algumas ocasiões é necessário ignorar essa fila e fazer a execução do relatório assim que o usuário realiza alguma ação no sistema. Para isso, existe o modo SYNC. Este formato não está documentado no manual de implantação pois é um recurso que deve ser usado somente em último caso.

      Um caso de uso do modo SYNC é a aplicação gerador-espelho-ponto da MWM.
      Esta aplicação customizada é uma tela onde o usuário informa dados do espelho de ponto a ser gerado, e ao clicar no botão, a aplicação aciona a pontosoft-api, que solicita ao insoft-report-executor a execução do espelho de ponto de forma imediata, onde a response da request acionada pelo usuário contem o espelho de ponto gerado para download do navegador.

      Para configurar o modo SYNC é necessário seguir os seguintes passos:

      • O Tomcat onde roda o insoft-report-executor original (ASYNC) deve se manter como está, sem alterações;
      • Instalar um novo Tomcat no servidor do cliente. Este Tomcat conterá apenas um deploy do insoft-report-executor que será específico para o cenário SYNC;
      • Adicionar na JVM deste novo Tomcat a variável de ambiente relacionada ao diretório do arquivo de configurações externas deste insoft-report-executor;
      • Neste arquivo externalizado do insoft-report-executor do Tomcat novo, usar as mesmas configurações do application.yml do executor padrão que está no Tomcat "oficial", mudando apenas o valor da propriedade grails.serverURL e insoftReportExecutor.mode:
      grails.serverURL: "http://localhost:xxxx/insoft-report-executor" # URL deste novo insoft-report-executor (se atentar ao valor da porta deste novo report-executor, que será diferente do report-executor original);
      insoftReportExecutor.mode: "SYNC" # Modo de operação específico deste executor novo
      

      Dessa forma, quando o insoft-report-executor novo estiver no ar, ele se registrará ao insoft-report-gateway padrão, que irá usar este insoft-report-executor quando receber um agendamento que deve ser executado imediatamente.

      80809401-ecca-4046-b2ce-48a0d577a4a4-sync-async.jpg

      Obs 1: de maneira resumida, essa arquitetura permite o deploy de inúmeros insoft-report-executor que se registram em um mesmo insoft-report-gateway, que acionara o executor disponível de acordo com o modo de operação e priorização das threads.

      Obs 2: somente usar SYNC mode quando houver uma rotina que requer execução imediata do relatório para que esteja disponível ao usuário (quando não pode haver o login no sistema para acesso a tela de agendamentos).

      1 Resposta Última resposta Responder Citar 2
      • Primeiro post
        Último post
      Powered by NodeBB | Contributors