Histórico da Página
01. INFORMAÇÕES GERAIS
O Serviço de monitoramento monitoração da saúde da integração tem como finalidade garantir a disponibilidade/execução do processo que executa a integração (ConTotvsAppExecutorProcess).
Aviso | ||
---|---|---|
| ||
É necessário que o ambiente possua ao menos um JobServer Distribuído no ambiente para que a integração seja habilitada. TDN : https://tdn.totvs.com/x/Gy8ZE |
02. SITUAÇÃO/REQUISITO
Ao ativar a integração RM x TOTVS App o processo ConTotvsAppExecutorProcess deve ser executado respeitando a configuração de periodicidade da integração, independentemente da arquitetura utilizada pelo sistema ( Local / 3 Camadas ).
Este processo não pode deixar de ser executado, pela quantidade de volume que informação que ele pode gerar e também pela criticidade das informações que são integradas.
...
Pensando neste cenário precisamos que caso o processo seja desabilitado/parado por motivos diversos, o processo precisa ser reagendado imediatamente, para garantir que as informações sempre estejam sendo enviadas para a Carol. (Respeitando a configuração de recursividade da integração)
Ambiente Local
Em um ambiente Local o cenário é bastante diferente, um novo processo precisa ser gerado o mais próximo da configuração de recursividade da integração.
Informações | ||
---|---|---|
| ||
É necessário garantir que o processo ConTotvsAppExecutorProcess não seja executado simultaneamente por mais de um serviço. |
03. SOLUÇÃO
...
Foi criado um serviço que executa de 10 em 10 minutos que executa a rotina de verificação do processo ConTotvsAppExecutorProcess.
...
title | Atenção |
---|
Quando utilizado o ambiente Local o tempo de execução do processo é próximo ao configurado e não o tempo exato igual em um ambiente 3 Camadas.
O Serviço faz a verificação se precisa executar o processo de 10 em 10 minutos.
Exemplo:
Levando em consideração que a configuração da periodicidade da integração de 10 minutos.
.
O serviço só voltará a verificar se precisa executar o processo as 10:19, onde caso o processo não esteja executando o mesmo será executado.
04. COMO HABILITAR O SERVIÇO
Ao Habilitar a integração através do Wizard de configuração o serviço será inicializado em todos os ambientes RM.Host , RM.Host.Service utilizados pelo sistema, somente para o Alias atual.
O Serviço também será inicializado na subida do Host para cada Alias configurado no ambiente, caso a integração não esteja configurada/habilitada o mesmo será finalizado.
Aviso | ||
---|---|---|
| ||
Este serviço tem como o comportamento ser registrado durante a subida do serviço RM.Host / RM.Host.Service para cada Alias configurado no ambiente. Exemplo: 1 Host + 1 Alias = 1 Serviço 2 Host's + 1 Alias = 2 Serviços 2 Host's + 2 Alias = 4 Serviços Caso a integração não esteja configurada/habilitada o mesmo será finalizado, não consumindo recursos da máquina. |
05. COMO FUNCIONA O SERVIÇO
Existe um serviço no Host que é responsável por executar a rotina que controlar a execução do processo da Integração. Este serviço chamamos de Responsável pelo Job.
Apenas um único Host possui esta responsabilidade.
É possível identificar o Responsável pelo Job através da tabela GTOTVSAPP, o campo SERVIDOR representa quem é o Responsável pelo Job do serviço, registrado com HOSTNAME:PORTA.
O Responsável pelo Job pode ser assumido por qualquer Host do parque de máquinas, que esteja com um JobServer Distribuido Habilitado.
Como funciona o mecanismo de ser ou não o Responsável pelo Job:
Aviso | ||
---|---|---|
| ||
Todas as informações significantes do processo serão escritas no arquivo de Log do sistema. (TraceFile) |
draw.io Diagram | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Como Funciona a Rotina que verifica a Saúde do processo:
draw.io Diagram | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Aviso | ||
---|---|---|
| ||
Este fluxo da saúde do processo, server para as seguintes classes de processos. Campo - JOBID → Classe de Processos: ConTotvsAppExecutorProcess (DataSharing) Campo - JOBIDTLC → Classe de Processos: ConTotvsAppExecutorTLCProcess (BeheviorSharing) |