Manutenção dos Jobs

Produto:

Framework

Versões:

11.xx, 12.xx

Ocorrência:

Procedimentos para manutenção dos Jobs

Ambiente:


Passo a passo:

    Inicialmente, execute o acerta usuário de acordo com sua base de dados, disponibilizado junto com o instalador de banco de dados ou já extraído para a pasta C:\totvs\CorporeRM\BaseDados:

    BD0016_SQL_Server_Acerta_Usuário 

      Acesse o diretório “C:\totvs\CorporeRM\RM.Net”. Dentro da pasta informada você deverá encontrar os arquivos Alias.dat, _Broker.dat e Update.dat, e apaga-los. Em seguida execute o arquivo “RM.AliasManager.exe”. Preencha os campos conforme a conexão exige.

      Confirme as permissões da conta para iniciar o serviço do host, exemplo:

      Local Account, alterando para uma conta de administrador da rede:

       

      Verifique se a data/hora/minuto das máquinas que estão envolvidas no processo está igual. Sendo as maquinas Servidor de Banco, Servidor de Terminal Service, Servidor de Processos e Estações clientes.

      Confira todos os arquivos configs do seu sistema sendo.

      Exemplo:

       Nova MDI: C:\totvs\CorporeRM\RM.Net\ RM.exe.config

      • Labore: C:\totvs\CorporeRM\RMLabore\ RMLabore.exe.config
      • Etc;

       Para ambos as tags deverão ser conferidas:

       <appSettings>

        <add key="JobServer3Camadas" value="false" />

        <add key="Host" value="BHD0005438" />

      • Tag Jobserver sempre com o valor false.
      • Tag Host: Nome da máquina

      Acesse o menu Gerenciamento de JOB pela aba Ambiente, selecione todos os registros e delete-os. (Obs.: caso tenha JOB's agendados verifique no campo "Recorrência" estiver preenchidos são JOB's agendados):

      Delete os arquivos temporários dos diretórios abaixo:

      %temp%

      C:\Windows\ServiceProfiles\NetworkService\AppData\Local\Temp

      C:\Windows\ServiceProfiles\LocalService\AppData\Local

      Realize a limpeza de logs de Execução de processos, conforme link abaixo:

      Limpar Log de Execução de Processos

      Limpar Log de Execução de Processos

      Acesse o diretório da máquina que está sendo utilizada como servidor de processos e vá ao diretório “C:\totvs\CorporeRM\RM.Net”. Dentro da pasta informada você deverá apagar os arquivos Alias.dat e _Broker.dat. Em seguida execute o arquivo “RM.AliasManager.exe”. Preencha os campos conforme a conexão exige.

      Confirme as permissões da conta para iniciar o serviço do host, exemplo:

      Local Account, alterando para uma conta de administrador da rede:

       

      Verifique se a data/hora/minuto das máquinas que estão envolvidas no processo está igual. Sendo as maquinas Servidor de Banco, Servidor de Terminal Service, Servidor de Processos e Estações clientes.

      Na aba “Serviços” deixe marcada a opção “Habilitar Processamento de Job”, atribua um valor para Execuções Simultâneas” e deixe desmarcada a opção “Executar apenas Job’s Locais” (Desmarque apenas se o ambiente for 3 ou N Camadas). Teste a conexão e caso tenha êxito salve as alterações.

      Para um Servidor de Jobs Dedicado a configuração simultânea de Jobs (Execuções Simultâneas), deverá ficar com a nomenclatura de 3 processos de jobs para cada núcleo de CPU do Servidor, conforme imagem abaixo. São 4 processadores e teremos 3 jobs para cada núcleo, então serão 12 processos simultâneos:
      OBS: Caso o valor 0 seja utilizado, o sistema identificará como 3, o numero de execuções simultâneas.

      Via nova MDI (RM.EXE) acesse o menu dos SERVIÇOS GLOBAIS > AMBIENTE> COCKPIT.

      Na tela clique no botão “Iniciar”. O ícone “Interromper Servidor” ficará habilitado. Em seguida tente executar o processo do sistema novamente. 

      Confira todos os arquivos configs do seu sistema sendo.

      A)     Máquina local:

      Arquivos de configurações dos aplicativos:

      Exemplo:

       Nova MDI: C:\totvs\CorporeRM\RM.Net\ RM.exe.config

      • Labore: C:\totvs\CorporeRM\RMLabore\ RMLabore.exe.config
      • Etc;

       Para ambos as tags deverão ser conferidas:

       <appSettings>

        <add key="JobServer3Camadas" value="true" />

        <add key="Host" value="BHD0005438" />

      • Tag Jobserver sempre com o valor true.
      • Tag Host: Nome da máquina

      B)      Máquina Servidor / JOBSERVER

      Conferir exclusivamente o arquivo config de host C:\totvs\CorporeRM\RM.Net\RM.Host.Service.exe.config

      A tag Jobserver, também deverá conter o valor True.

      Lembrando que a regra acima, será para todos os arquivos .confg do sistema.

      Para maiores informações, acesse o tutorial de instalação para 3 camadas:

      http://tdn.totvs.com/pages/releaseview.action?pageId=65209727

      Realize a remoção de todas a máquinas no Cockpit:

      Reinicie o serviço do RM.Host.Service para que o servidor seja apresentado no Cockpit.

      Acesse o menu Gerenciamento de JOB pela aba Ambiente, selecione todos os registros e delete-os. (Obs.: caso tenha JOB's agendados verifique no campo "Recorrência" estiver preenchidos são JOB's agendados):

      Delete os arquivos temporários dos diretórios abaixo:

      %temp%

      C:\Windows\ServiceProfiles\NetworkService\AppData\Local\Temp

      C:\Windows\ServiceProfiles\LocalService\AppData\Local

      Realize a limpeza de logs de Execução de processos, conforme link abaixo:

      Limpar Log de Execução de Processos

      Limpar Log de Execução de Processos


      Inicialmente, execute o acerta usuário de acordo com sua base de dados, disponibilizado junto com o instalador de banco de dados ou já extraído para a pasta C:\totvs\CorporeRM\BaseDados:

      BD0015_Oracle_Acerta_Usuário

        Sistema Operacional 64 bits: A recomendação da Totvs é que sejam instalados os Clients do Oracle 32 e 64 bits, em máquinas cujo sistema operacional seja 64 bits. Detalhes no link abaixo:

        Instalação do client 32 e 64 bits do Oracle na mesma máquina:

        http://tdn.totvs.com/pages/viewpage.action?pageId=274325400

        Caso tenha apenas o client do Oracle 32 bits instalado, poderá executar o corflags, conforme orientações abaixo:

        Antes de realizar os passos abaixo, favor fechar todas as aplicações Totvs e desinstalar o serviço de Host.

        Executar os comandos abaixo (COM USUÁRIO ADMINISTRADOR DO WINDOWS).

        A) Entrar no Prompt de Comando da máquina

        B) Digitar o comando: cd C:\totvs\CorporeRM\RM.Net

        C) Digitar o comando: CorFlags RM.Host.exe /32bit+

        D) Digitar o comando: CorFlags RM.Host.Service.exe /32bit+

        E) Digitar o comando: CorFlags RM.Lib.Gerador.Execute.exe /32bit+

        F) Digitar o comando: Corflags RM.Host.JobRunner.exe /32bit+

        G) Reiniciar a máquina e fazer teste.

        Caso possua o Client do Oracle 64 bits instalado, não é necessário executar o corflags, pois o serviço do host irá se comunicar em 64 bits, considerando que será utilizado apenas a MDI, para utilizar os aplicativos Delphi, é necessário instalar o Client 32 bits (pois o BDE funciona apenas em 32 bits)

        Sistema Operacional 32 bits: necessita do client do Oracle 32 bits e não é necessário executar o Corflags.


        Orientações abaixo para ambos SO (32 e 64 bits)

        Acesse o diretório “C:\totvs\CorporeRM\RM.Net”. Dentro da pasta informada você deverá encontrar os arquivos Alias.dat, _Broker.dat e Update.dat, e apaga-los. Em seguida execute o arquivo “RM.AliasManager.exe”. Preencha os campos conforme a conexão exige.

        Confirme as permissões da conta para iniciar o serviço do host, exemplo:

        Local Account, alterando para uma conta de administrador da rede:

         

        Verifique se a data/hora/minuto das máquinas que estão envolvidas no processo está igual. Sendo as maquinas Servidor de Banco, Servidor de Terminal Service, Servidor de Processos e Estações clientes.

        Confira todos os arquivos configs do seu sistema sendo.

        Exemplo:

         Nova MDI: C:\totvs\CorporeRM\RM.Net\ RM.exe.config

        • Labore: C:\totvs\CorporeRM\RMLabore\ RMLabore.exe.config
        • Etc;

         Para ambos as tags deverão ser conferidas:

         <appSettings>

          <add key="JobServer3Camadas" value="false" />

          <add key="Host" value="BHD0005438" />

        • Tag Jobserver sempre com o valor false.
        • Tag Host: Nome da máquina

        Acesse o menu Gerenciamento de JOB pela aba Ambiente, selecione todos os registros e delete-os. (Obs.: caso tenha JOB's agendados verifique no campo "Recorrência" estiver preenchidos são JOB's agendados):

        Delete os arquivos temporários dos diretórios abaixo:

        %temp%

        C:\Windows\ServiceProfiles\NetworkService\AppData\Local\Temp

        C:\Windows\ServiceProfiles\LocalService\AppData\Local

        Realize a limpeza de logs de Execução de processos, conforme link abaixo:

        Limpar Log de Execução de Processos

        Limpar Log de Execução de Processos

        Servidor de Aplicação e Servidor de Jobs: (Sistema Operacional 32 ou 64 bits) não é necessário executar o corflags, pois os processos são executados em 64 bits.

        Clients (Sistema Operacional 64 bits): A recomendação da Totvs é que sejam instalados os Clients do Oracle 32 e 64 bits, em máquinas cujo sistema operacional seja 64 bits. Detalhes no link abaixo:

        Instalação do client 32 e 64 bits do Oracle na mesma máquina:

        http://tdn.totvs.com/pages/viewpage.action?pageId=274325400

        Caso tenha apenas o client do Oracle 32 bits instalado, poderá executar o corflags, conforme orientações abaixo:

        Utilização do Corflags:

        Antes de realizar os passos abaixo, favor fechar todas as aplicações Totvs e desinstalar o serviço de Host.

        Executar os comandos abaixo (COM USUÁRIO ADMINISTRADOR DO WINDOWS).

        A) Entrar no Prompt de Comando da máquina

        B) Digitar o comando: cd C:\totvs\CorporeRM\RM.Net

        C) Digitar o comando: CorFlags RM.Host.exe /32bit+

        D) Digitar o comando: CorFlags RM.Host.Service.exe /32bit+

        E) Digitar o comando: CorFlags RM.Lib.Gerador.Execute.exe /32bit+

        F) Digitar o comando: Corflags RM.Host.JobRunner.exe /32bit+

        G) Reiniciar a máquina e fazer teste.

        Caso possua o Client do Oracle 64 bits instalado, não é necessário executar o corflags, pois o serviço do host irá se comunicar em 64 bits, considerando que será utilizado apenas a MDI, para utilizar os aplicativos Delphi, é necessário instalar o Client 32 bits (pois o BDE funciona apenas em 32 bits)

        Clients (Sistema Operacional 32 bits): necessita do client do Oracle 32 bits e não é necessário executar o Corflags.


        Orientações abaixo para ambos SO (32 e 64 bits)

        Acesse o diretório da máquina que está sendo utilizada como servidor de processos e vá ao diretório “C:\totvs\CorporeRM\RM.Net”. Dentro da pasta informada você deverá apagar os arquivos Alias.dat e _Broker.dat. Em seguida execute o arquivo “RM.AliasManager.exe”. Preencha os campos conforme a conexão exige

        Confirme as permissões da conta para iniciar o serviço do host, exemplo:

        Local Account, alterando para uma conta de administrador da rede:

         

        Verifique se a data/hora/minuto das máquinas que estão envolvidas no processo está igual. Sendo as maquinas Servidor de Banco, Servidor de Terminal Service, Servidor de Processos e Estações clientes.

        Na aba “Serviços” deixe marcada a opção “Habilitar Processamento de Job”, atribua um valor para Execuções Simultâneas” e deixe desmarcada a opção “Executar apenas Job’s Locais” (Desmarque apenas se o ambiente for 3 ou N Camadas). Teste a conexão e caso tenha êxito salve as alterações.

        Para um Servidor de Jobs Dedicado a configuração simultânea de Jobs (Execuções Simultâneas), deverá ficar com a nomenclatura de 3 processos de jobs para cada núcleo de CPU do Servidor, conforme imagem abaixo. São 4 processadores e teremos 3 jobs para cada núcleo, então serão 12 processos simultâneos: 

        OBS: Caso o valor 0 seja utilizado, o sistema identificará como 3, o numero de execuções simultâneas.

        Via nova MDI (RM.EXE) acesse o menu dos SERVIÇOS GLOBAIS > AMBIENTE> COCKPIT.

        Na tela clique no botão “Iniciar”. O ícone “Interromper Servidor” ficará habilitado. Em seguida tente executar o processo do sistema novamente. 

        Confira todos os arquivos configs do seu sistema sendo.

        A)     Máquina local:

        Arquivos de configurações dos aplicativos:

        Exemplo:

         Nova MDI: C:\totvs\CorporeRM\RM.Net\ RM.exe.config

        • Labore: C:\totvs\CorporeRM\RMLabore\ RMLabore.exe.config
        • Etc;

         Para ambos as tags deverão ser conferidas:

         <appSettings>

          <add key="JobServer3Camadas" value="true" />

          <add key="Host" value="BHD0005438" />

        • Tag Jobserver sempre com o valor true.
        • Tag Host: Nome da máquina

        B)      Máquina Servidor / JOBSERVER

        Conferir exclusivamente o arquivo config de host C:\totvs\CorporeRM\RM.Net\RM.Host.Service.exe.config

        A tag Jobserver, também deverá conter o valor True.

        Lembrando que a regra acima, será para todos os arquivos .confg do sistema.

        Para maiores informações, acesse o tutorial de instalação para 3 camadas:

        http://tdn.totvs.com/pages/releaseview.action?pageId=65209727

        Realize a remoção de todas a máquinas no Cockpit:

        Reinicie o serviço do RM.Host.Service para que o servidor seja apresentado no Cockpit.

        Acesse o menu Gerenciamento de JOB pela aba Ambiente, selecione todos os registros e delete-os. (Obs.: caso tenha JOB's agendados verifique no campo "Recorrência" estiver preenchidos são JOB's agendados):

        Delete os arquivos temporários dos diretórios abaixo:

        %temp%

        C:\Windows\ServiceProfiles\NetworkService\AppData\Local\Temp

        C:\Windows\ServiceProfiles\LocalService\AppData\Local

        Realize a limpeza de logs de Execução de processos, conforme link abaixo:

        Limpar Log de Execução de Processos

        Limpar Log de Execução de Processos


        Como os servidores irão trabalhar, conforme configuração dos arquivos sendo: 

        Dica

        1º Situação: 

        CONFIG - JOBSERVER3CAMADAS = TRUE

        ALIAS - JOBSERVERENABLED = TRUE

        ALIAS - LOCALONLY = TRUE

        Resultado: Dados nas tabelas GJOBSERVER e GKNOWNJOBSERVER. Executa somente os Jobs que o próprio servidor gerou (servidor e não client) e ninguém processa os seus jobs.

         

        2º Situação: 

        CONFIG - JOBSERVER3CAMADAS = TRUE

        ALIAS - JOBSERVERENABLED = TRUE

        ALIAS - LOCALONLY = FALSE

        Resultado: Dados nas tabelas GJOBSERVER e  GKNOWNJOBSERVER. Processa qualquer job.

         

        3º Situação: 

        CONFIG - JOBSERVER3CAMADAS = TRUE

        ALIAS - JOBSERVERENABLED = FALSE

        ALIAS - LOCALONLY = FALSE

        Não irá dado para a tabela GJOBSERVER (Há menos que ligue no Cockpit) e irá para a tabela GKNOWNJOBSERVER

         

        4º - Situação: 

        CONFIG - JOBSERVER3CAMADAS = FALSE

        ALIAS - JOBSERVERENABLED = Independente

        ALIAS - LOCALONLY = Independente

        Não irá dado para a tabela  GJOBSERVER e nem GKNOWNJOBSERVER. Só estará na tabela GKNOWNJOBSERVER se algum dia o servidor já teve uma das configurações acima.


        Comportamento de portas

        O RM trabalha com 3 protocolos de comunicação, são eles: HTTP, TCP e NamedPipe.

        No protocolo HTTP e no TCP, são utilizadas as portas configuradas no service manager, porém as portas do NamedPipe são geradas em tempo de execução de acordo com algumas regras:

        Caso o Pool de processos esteja habilitado, ele gera uma porta aleatória (ex.: BHN050103142:1632027901)
        Caso o Pool de processos esteja desabilitado, ele sempre se conecta na porta 0 (ex.: BHN050103183:0)
        O NamedPipe só é utilizado para processos prioritários, quando o isolamento de processos está habilitado e não há nenhum jobRunner disponível.

        É importante ressaltar que não é possível configurar/controlar/desativar os processos prioritários, tal definição é realizada de acordo com a regra de negócio de cada produto.

        Portanto não há nenhum problema estrutural na arquitetura da solução em aparecer na tabela de jobs portas fora do padrão (sejam números aleatórios ou zero), o caso de um jobRunner executando em loop e consumindo muitos recursos, deve ser avaliado com o produto responsável pela execução do processo o motivo de lentidão ou travamento.

        Importante

        Caso a inconsistência continue a ser apresentada, pedimos que habilite o TraceFile em seu ambiente e assim que a inconsistência for apresentada, nos envie o log gerado, junto ao log de Event Viewer do Windows em anexo ao ticket.

        Observações:

        As  tabelas responsáveis pelo armazenamento das informações relacionadas aos jobs agendados e executados são:

        GRELBATCH

        GJOBLOG

        GJOBXLOG

        GJOBXEXECUCAO

        GJOBX

        GKNOWNJOBSERVERDIAGNOSTIC

        GKNOWNJOBSERVER

        GJOBSERVER