Versões comparadas

Chave

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

Índice


       

Índice
exclude.*ndice:

Introdução


       A execução de processos na linha RM foi modificada estruturalmente para trazer benefícios e possibilidades ao processamento das tarefas e processos. Isso foi possível graças à mudança da arquitetura de Win32 para .Net.

       Conceitualmente, os Jobs são os processos na linha RM, e cada um possui informações únicas que vão desde a data da execução do Job, até a estação e o usuário que o executou. O Job é criado no momento da execução de um processo, e é registrado no Gerenciador de Jobs, que será detalhado adiante.

       As informações sobre os processos estão mais ricas de informação e detalhamento, além de se tornar mais prático e confiável o gerenciamento das tarefas no sistema.

        Além disso, os Jobs são executados pelo JobServer, que é o mecanismo de execução dos processos. O avanço no uso do JobServer vem da possibilidade de utilizar a Arquitetura 3 Camadas, onde funcionalidades da linha RM, bancos de dados e estações de trabalho cliente trabalham fisicamente em separado, uma estação diferente para cada camada.

Aviso
titleATENÇÃO

Recomendamos que este recurso seja ativado somente quando você estiver trabalhando na Arquitetura 3 Camadas. Isso porque o serviço realiza constantes consultas ao banco de dados, o que pode trazer perda de desempenho.

        Você pode executar os Jobs de duas formas diferentes: Execução Assíncrona e Agendamento de Processos. Veja como funcionam:

1. Execução Assíncrona de Processos


       Os Jobs serão executados de forma assíncrona, ou seja, você poderá realizar outras tarefas enquanto o processo é executado. Todos os Jobs que você definir executar dessa forma, serão processados do servidor de aplicação, o que garante melhor desempenho da execução dos processos.

       Você pode ainda ter a opção de aguardar ou na a execução do processo, bastando clicar no botão “Opções” e desmarcar a opção “Aguardar execução do processo”, durante a execução de um processo (figura 1).Image Removed

Image Added

Figura 1 – Parâmetro “Aguardar execução do processo”

       Durante a execução do Job, observe que o Monitor de Jobs(em destaque na figura 2) é apresentado na parte inferior caso você clique na pasta Progresso da execução dos processos, ao lado das “Mensagens”.

       Você poderá trabalhar em outras tarefas da aplicação RM enquanto ele é executado.

Image RemovedImage Added

Figura 2 – Execução Assíncrona do processo pelo Monitor de Jobs

1.1 Agendamento de Processos


       Caso você não queira executar o processo imediatamente, ou queira agendar para uma data específica, na linha RM é possível agendar para um mês/dia/horário, e ainda configurar essa execução com uma periodicidade pré-definida.

       Todos os Jobs são passíveis de agendamento, mas esta decisão é tomada durante o desenvolvimento e confecção dos processos. A tela de agendamento é apresentada na penúltima etapa do wizard de processos (figura 3).

1.2 Recorrência de Processos


       Para realizar execuções recorrentes basta configurar a repetição do Job (figura 3), parametrizando execuções semanais, (quais dias da semana serão executados), mensais (qual dia do mês) ou mesmo diariamente (qual horário do dia).

Aviso
titleATENÇÃO
A recorrência e o agendamento de processos estarão disponíveis para uso somente se o JobServer estiver configurado para execução em 3 Camadas, no arquivo RM.Host.Service.exe.config (confira o tópico “Parametrizações para o uso do JobServer”).

Figura 3 – Agendamento de Processos

Aviso
titleATENÇÂO

A partir da versão 12.1.19, os jobs agendados que foram programados para serem executados dentro de um período em que o Host estava indisponível, não serão executados quando o Host estiver disponível. Em caso de recorrência, os próximos jobs serão criados normalmente a partir da disponibilidade do Host.

1.3 Monitor de Jobs


       Importante para acompanhamento de processos, o Monitor de Jobs garante o acompanhamento da execução de algum Job em andamento. Você pode acessá-lo pelo menu Sistema | Server | Monitor de Jobs, ou na nova MDI, menu Ferramentas | Monitor de Jobs.

Figura 4 – Monitor de Jobs


1.4 Gerenciamento de Jobs


       Todos os processos são armazenados no servidor, juntamente com a visualização dos logs de processo. Para obter acesso à tela de Gerenciamento de Jobs acesse Sistema | Server | Gerenciamento de Jobs, ou pela nova MDI, Ferramentas | Gerenciamento de Jobs.

       A tela de Gerenciamento de Jobs controla todos os Jobs em execuçãoexecutados e os que estão por executar. Por ele você poderá interromper ou parar os Jobs em andamento e reiniciá-los posteriormente, garantindo o gerenciamento dos processos de acordo com sua necessidade.

Figura 5 – Gerenciador de Jobs

2. Recursos do Gerenciador de Jobs


       O Gerenciador de Jobs possui uma série de recursos que controlam a execução dos jobs. Estes recursos vão garantir a gerência e controle de todos os processos que forem executados. Além disso, você tem ainda detalhes do andamento dos processos, tais como data de criação, execução e finalização, servidor onde foram processados, todos os detalhes sobre a recorrência do job, arquivos de logs de execução e dados técnicos do processo.

2.1 Funcionalidades do Gerenciamento de Jobs


Inicializa a execução dos Jobs do Servidor.

Interrompe a execução dos Jobs no Servidor. Os processos em execução não serão interrompidos e serão concluídos, apenas novos processos não serão executados.

 Finaliza todas as execuções de Jobs no Servidor. Todos os processos em execução serão parados, caso estejam em execução, e novos processos não serão executados.

Pausa a execução de um ou mais Jobs selecionados. Para usar essa funcionalidade, é preciso que o job esteja em execução.

Reinicia a execução de um job interrompido do ponto onde parou. O “Habilitar Job” é diferente da função “Reiniciar Job”, pois este último inicia novamente a execução do processo.

Desativa a execução de um job que possua recorrência. Ele não mais será executado, a não ser que seja reiniciado ou habilitado novamente.

 Reinicia a execução de um job do início, sem exigir que o usuário informe novamente os parâmetros para execução, pois serão utilizados os previamente parametrizados.

Processo para Limpar Log de Execução de Processos: Executando este processo você poderá excluir as informações dos Jobs (logs de processo), marcando aquelas que desejar remover.

2.2 Resultado da execução dos Processos


       Essa pasta exibe o resultado da execução do processo, se o Job foi executado com sucesso ou com erros. Exibe os dados como data e horas da solicitação, início do processamento e termino do processo.

      Para acessá-lo, você pode acessar essas informações pelo botão presente no Monitor de Jobs depois de concluída a execução (figura 6). Pode ainda acessar pela aplicação, no menu Sistema | Server | Gerenciamento de Jobs, editando o registro do Job, ou também pela nova MDI, menu Ferramentas | Gerenciamento de Jobs e editar o Job desejado (Figura 7). Se o Job não for executado corretamente porque precisava da configuração de algum parâmetro, você pode reiniciá-lo, bastando clicar no botão , também no Monitor de Jobs.

Figura 6 – Resultado da Execução do Processo

Figura 7 – Informações da Execução do Job

       Veja abaixo os detalhes das Informações dos Jobs:

Pasta Identificação

Essa pasta fornece informações cadastrais do Job, como Identificação e nome, horário da execução, em qual servidor foi executado e qual o usuário que solicitou sua execução.

Pasta Processo

Essa pasta exibe dados técnicos da execução do Job, tais como Classe do Processo e Classe dos Parâmetros.

Pasta Recorrência

Exibe as informações do Agendamento do Processo, informando qual a recorrência quando houver.

3. Parametrizações para o uso do JobServer


       Este tópico demonstrará como configurar os parâmetros do JobServer.

Aviso
titleATENÇÃO
Somente usuários com conhecimento da arquitetura e capacidade técnica devem alterar as configurações. Qualquer alteração indevida afetará o funcionamento não só dos Jobs como o do próprio aplicativo, tendo conseqüências desastrosas e irreversíveis.

3.1 Configuração do RM.Host.Service.exe.config

3.1 Configuração do RM.Host.Service.exe.config


       O RM.Host.Service.exe.config, que fica no diretório “C:\CorporeRM\RM.Net” (este diretório pode ser alterado no ambiente de 3 camadas), é o arquivo de configuração do serviço que executa os processos. É neste arquivo que informamos que ativamos e desativamos a execução do modo 3 camadas do JobServer.

       Veja abaixo o código que controla a execução do JobServer:

Bloco de código
languagexml
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
	<appSettings>
		<add key="JobServer3Camadas" value="true"/>
	</appSettings>
</configuration>

       O parâmetro “JobServer3Camadas” precisa estar com seu value igual a true para ativar o modo 3 Camadas do JobServer. Por default, o parâmetro está como false, ou seja, desativado.

Aviso
titleATENÇÃO

Caso este parâmetro seja alterado em algum momento, é preciso reiniciar o serviço do RM.Host.Service para que as alterações sejam ativadas.

Além disso, para que utilizar o JobServer, é imprescindível a configuração dos parâmetros do arquivo “Alias.dat”, que também se encontra em “C:\CorporeRM\RM.Net” (pode ser alterado para o ambiente de 3 camadas) . Veja como configurá-lo no tópico abaixo.

3.2 Configuração do Alias.dat


       Para que a execução de processos na nova arquitetura funcione corretamente, é necessário que o banco de dados utilizado tenha uma entrada correspondente no arquivo alias.dat. O banco precisa ter um alias configurado no arquivo Alias.dat.

       Para realizar a configuração, acesse UNIDADE:\totvs\CorporeRM\RM.net e execute o aplicativo RM.AliasManager.exe. 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”. Toda a parametrização realizadas no aplicativo RM.AliasManager.exe será gravada no arquivo alias.dat.

Figura 8 – Habilitar o Processamento de Job

       Veja o detalhamento das tags:

<JobServerEnabled>: Ativa ou desativa a execução de Jobs (true para ativar e false para desativar).

<JobServerMaxThreads>: Quantidade de Jobs processados ao mesmo tempo no servidor.

Importante: O número definido aqui é o equilíbrio entre o processamento de Jobs do Servidor e a quantidade de requisições de processos solicitados.

<JobServerLocalOnly>: Exige que o Job execute somente requisições internas (caso true) ou executa qualquer requisição independente do remetente (caso false).

<JobServerPollingInterval>: Intervalo de tempo para a requisição de Jobs pendentes no servidor (em segundos).

Importante: É necessário definir um número adequado ao tempo de requisições ao servidor, para não encher a fila de Jobs a executar.

Aviso
titleATENÇÃO

Caso não exista o arquivo “alias.dat”, ou não haver um alias para o banco de dados em questão, essa configuração será criada automaticamente assim que qualquer tela de processos é aberta, tornando essa questão transparente para o usuário.

Ainda assim, foi criada uma tela para manutenção do arquivo alias.dat, que pode ser acessada através do menu “Cadastros | Segurança | Administrativa | Gerenciamento de Alias”, ou pela nova MDI, “Segurança | Gerenciamento de Alias” (figura 8).

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

Dica
titleDica
Deck of Cards
idDICA: Como os servidores irão trabalhar, conforme configuração dos arquivos:
Card
labelSituação 1
ArquivoTagValor
CONFIGJOBSERVER3CAMADASTRUE
ALIASJOBSERVERENABLEDTRUE
ALIASLOCAL ONLYTRUE

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

Card
labelSituação 2
ArquivoTagValor
CONFIGJOBSERVER3CAMADASTRUE
ALIASJOBSERVERENABLEDTRUE
ALIASLOCAL ONLYFALSE

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

Card
labelSituação 3
ArquivoTagValor
CONFIGJOBSERVER3CAMADASTRUE
ALIASJOBSERVERENABLEDFALSE
ALIASLOCAL ONLYFALSE

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

Card
labelSituação 4
ArquivoTagValor
CONFIGJOBSERVER3CAMADASFALSE
ALIASJOBSERVERENABLEDINDEPENDENTE
ALIASLOCAL ONLYINDEPENDENTE

Resultado: 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.

4. Dicionário de Terminologias


       Agendamento de Processos: Execução agendada dos Jobs. É possível agendar para um mês/dia/horário, e ainda configurar essa execução com uma periodicidade pré-definida.

      Alias.dat: Arquivo de comunicação entre o banco de dados. Neste arquivo você também configura informações sobre a execução do JobServer.

      Execução Assíncrona de Processos: Os Jobs serão executados de forma assíncrona, ou seja, você poderá realizar outras tarefas enquanto o processo é executado.

      Job: são os processos da Linha RM.

      JobServer: é um mecanismo de execução de jobs.

      MDI: Multiple Document Interface, ou a Interface de documentos múltiplos. É o ambiente onde as janelas, abas e processos da Linha RM são abertas.

      RM.Host.Service.exe.config: Arquivo de comunicação com o servidor que possui os recursos da Linha RM. Este é um dos arquivos onde você configura a execução do JobServer.

Informações
iconfalse
Informações
iconfalse

Produto: Framework

Informações
iconfalse

Versão: 11.80.XX, 12.01.XX

Informações
iconfalse

Processo: Configuração do Jobserver na Linha RM

Informações
iconfalse
Informações
iconfalse

Status: Finalizado

Informações
iconfalse

Data: 25/10/2017

Informações
iconfalse

Autores:

Carlos Philippe de Farias Marques

Carlos Roberto Pereira Garcia

Diogo Damiani Ferreira

Fábio Augusto Amaral Melo Nunes

Stella Gleyse Macedo Vilaca