Aplica-se aos produtos Omega Windows
Observação:
Os dados utilizados neste documento são genéricos e simulados no ambiente de homologação
As imagens são ilustrativas
Introdução
Este documento descreve o funcionamento do Serviço de Agendamento de Tarefas do Omega. Ele fornece informações técnicas a respeito da infraestrutura do Serviço e também traz recomendações operacionais, descrevendo a forma mais apropriada de instalá-lo, dando dicas de como configurá-lo e como operá-lo num ambiente de rede.
Terminologia
Uma Tarefa do Omega é um processo ou relatório do ERP passível de ter sua execução agendada. As tarefas são agendadas para execução em filas independentes chamadas Grupos de Execução de Tarefas. As Tarefas adicionadas a um Grupo de Execução são executadas sequencialmente, isto é, a próxima tarefa do Grupo só começa a executar quando a tarefa anterior terminou sua execução, desde que a data/hora agendada para execução tenha ocorrido. Para executar Tarefas em paralelo, agende-as em Grupos de Execução diferentes.
O Agendador é um programa distribuído pela ABC71 junto com sua solução de ERP Omega. Ele é responsável pela execução dos grupos de tarefas agendadas através do sistema.
Um Serviço do Windows é um programa especial, projetado para não requerer intervenção do usuário e que é executado como parte do Sistema Operacional Windows, isto é, não é necessário que um usuário efetue login no Windows para que o Serviço entre em execução. Os Serviços disponibilizam funcionalidades para atender uma demanda específica; no caso do Agendador, esta demanda é a execução das tarefas agendadas do Omega.
Registry é um banco de dados interno do Windows onde as configurações de softwares podem ser armazenadas. O Registry (ou registro do Windows) permite organizar as informações por usuário ou por máquina. No caso do Agendador, as configurações são inseridas numa área que independe do usuário logado no Windows; nesta área, é possível acessar as configurações mesmo sem um usuário logado.
O Gerenciador de Janelas é um programa da ABC71 responsável por carregar e exibir as telas do ERP, executar os processos e imprimir relatórios. No ERP, cada módulo que é aberto tem seu próprio Gerenciador de Janelas.
Teoria
A solução de Agendamento de Tarefas do Omega é composta de dois programas: um que permite fazer a configuração do Serviço de Agendamento e monitorar a execução de Tarefas (SchedConf.exe), denominado Configurador, e o outro é o Serviço propriamente dito (SchedServ.exe).
O programa para configurar os parâmetros do Agendador armazena as configurações feitas por um usuário no Registry do computador em que o programa está sendo executado. Então, para que o Serviço de Agendador seja capaz de ler essas configurações, ele deve ser executado no mesmo computador.
As configurações que podem ser feitas por este Configurador incluem a indicação de qual é o banco de dados a ser usado pelo Serviço, usuário e senha do banco de dados (como por exemplo, criado para trabalhar com login único) para que o Serviço possa se logar e executar as Tarefas, criação de logs e parâmetros de manutenção do histórico das execuções das Tarefas. É pelo SchedConf (Configurador) também que poderemos apontar quais os Grupos de Execução que estarão ativos e quais estarão inativos, sendo que as Tarefas agendadas em grupos inativos não serão executadas. Um Grupo de Execução é sempre criado como ativo.
Os Grupos de Execução, as Tarefas Agendadas e o Histórico de Execução são armazenadas no banco de dados e, portanto, independem do computador onde foram feitas as parametrizações do SchedConf. Para acessar o banco de dados, o Serviço usará o Alias informado no SchedConf para obter a localização do Servidor de Banco de Dados, o nome da Base e outros detalhes para conexão. Ou seja, usa todas as configurações feitas com o programa OmegaAdm e salvas no arquivo Omega.xml. É recomendável, portanto, que o controle de Aliases (o arquivo Omega.xml) seja centralizado na mesma pasta de rede, junto com os demais executáveis e bibliotecas do Omega. Lembre-se de que o Serviço pode estar em execução mesmo que o usuário do Windows não esteja logado e que nessa situação não haverá uma configuração indicando qual é o caminho onde pode ser encontrado o arquivo Omega.xml.
O Serviço (SchedServ.exe) monitora os grupos de execução ativos e executa em sequência as tarefas em cada grupo na data e hora indicadas quando foi feito o agendamento. Quando termina a execução de uma tarefa, o Serviço a coloca no histórico de execuções para consulta e, se tiver sido configurada para tal, a Tarefa é reagendada. Por fim, são consideradas as opções de limpeza do Histórico, momento no qual o Serviço remove do banco de dados os registros de execução, cancelamento ou reagendamento anteriores ao período a ser mantido, conforme solicitado pelo usuário.
Ao comandar o agendamento de uma Tarefa no Omega, informamos qual é o Grupo de Execução ao qual o agendamento estará atrelado. Não há formalmente um cadastro dos Grupos de Execução, bastando fazer um agendamento com um código de Grupo entre 0 e 99 para que o Serviço o leve em consideração e crie uma nova linha de execução paralela. No entanto, novos grupos devem ser adicionados com moderação, levando em conta que muitos processos do Omega podem entrar em execução ao mesmo tempo no computador onde o Serviço está instalado. A quantidade de recursos consumidos do computador nesse cenário o tornará lento, podendo também tornar lento o acesso ao banco de dados, o que prejudicará a performance do Omega como um todo, do servidor de banco de dados e até da rede. O esquema abaixo mostra o funcionamento dos Grupos de Execução, num cenário em que apenas 2 Grupos estão ativos.
Veja que cada Grupo tem seu próprio Gerenciador de Janelas para executar as Tarefas e que eles executam processos simultaneamente enquanto os demais processos agendados esperam em fila. Dentro de um mesmo Grupo, o próximo processo da fila só entra em execução após o término do processo atual, mesmo que passe a data e hora programada para a execução desse próximo processo.
Incluindo Agendamento de Processo
Para agendar a execução é preciso acessar a janela do processo desejado no sistema e clicar no botão de agendamento
Quadro Agrupamento
-
Grupo de Execução
Informar um número de controle para este grupo de execução. Processos no mesmo grupo são executados em sequência, enquanto processos em grupos diferentes podem ser executado em paralelo.
-
Empresa – Filial
O sistema já assumirá o Código da Empresa e da Filial que está logada.
Quadro Recorrência da Execução
-
Executar uma Única Vez
Marque essa opção para executar o processo uma única vez, numa data e hora especifica. Quando esta caixa está marcada, todas as outras configurações são desabilitadas.
-
Data Execução / Hora Execução
Informe a Data e o horário em que o processo deve ser executado automaticamente.
O processo entrará na fila de execução do Grupo e será executado no momento apropriado, respeitando data e hora dos demais processos incluídos nessa mesma fila.
-
Executar de Modo Recorrente. Estipula o tipo de período para reagendamento da Tarefa.
-
Executar a cada. Informe a periodicidade para execução. Em seguida selecionar o Tipo do período
-
Dia (s)
Informe o intervalo de dias para execução do processo. O Serviço reagendará a próxima execução da Tarefa para ocorrer X dias após o início da execução atual.
-
Hora (s)
-
Hora (s), com base na Hora Inicial
Para configurar o reagendamento em intervalo de horas, selecione a opção por Hora ou Por Hora Inicial.
O Serviço reagendará a próxima execução da Tarefa para ocorrer X horas após o término da execução atual (quando o tipo de intervalo for Por Hora). Ou X Horas após o início da execução atual (quando o Tipo de Intervalo for com base na Hora Inicial).
-
Hora (s), com base na Hora Inicial
-
Dia (s)
-
-
Minuto (s)
-
Minuto (s), com base na Hora Inicial
Para configurar o reagendamento em intervalo de minutos, selecione a opção por Minuto ou Por Minuto/Hora Inicial.
O Serviço reagendará a próxima execução da Tarefa para ocorrer X minutos após o término da execução atual (quando o tipo de intervalo for Por Hora). Ou X minuto após o início da execução atual (quando o Tipo de Intervalo for com base na Hora Inicial).
-
Minuto (s), com base na Hora Inicial
-
Minuto (s)
-
Restringir Período de Execução
-
Data Inicial / Data Final
Use os campos Data Inicial e Final para restringir o intervalo de datas no qual os reagendamentos da Tarefa estarão ativos. Isto é, após a data final o Serviço não reagendará mais o processo. Se quiser que um processo seja reagendado indefinidamente, deixe esse campo em branco. Um agendamento pode ser excluído ou cancelado a qualquer momento.
-
Data Inicial / Data Final
-
Somente Dias Úteis
Marque esta caixa para que os reagendamentos da Tarefa caiam apenas em dias úteis. O Serviço considera dias úteis aqueles cadastrados como tal no calendário existente no Omega, acessível pela tela CALEBR (Calendário).
-
Restringir Horário de Execução
-
Hora Inicial / Hora Final
Use os campos Hora Inicial e Final para restringir o período em um dia no qual a execução da Tarefa pode acontecer. Assim, se o horário previsto para um reagendamento cair antes da hora inicial, o processo será reagendado para executar na primeira hora do intervalo (hora inicial). Se cair após o horário final do intervalo, o Serviço reagendará o processo para a primeira hora do intervalo no dia seguinte, respeitando as restrições de data e dias úteis.
-
Hora Inicial / Hora Final
Quadro Dados da Execução
-
Data Execução / Hora Execução
Apresenta a data e hora agendada para ocorrer a próxima execução da tarefa. São exibidas apenas quando há um agendamento anterior ainda ativo.
-
Botão Excluir
Permite excluir o agendamento atual, evitando os futuros reagendamentos. Exibido apenas quando há um agendamento ativo.
Instalar Agendador - Scheduler
Pre-Requisitos
- Escolha um computador para instalar o Serviço e seu Configurador. Pode ser o Servidor ou no mesmo computador onde está o banco de dados. Esses computadores precisam permanecer ligados para que todo o resto funcione e, sempre que forem iniciados, iniciarão automaticamente também o Serviço Agendador, mesmo que um usuário não se logue no Windows.
- Certifique-se de que as configurações de Aliases do banco de dados estão centralizadas, isto é, que todos os usuários estão usando o mesmo arquivo Omega.xml e que esse arquivo esteja disponível na mesma pasta onde o Agendador está sendo instalado. Isto garantirá que o arquivo de configurações seja encontrado pelo Agendador mesmo que o usuário se logue no computador onde o Serviço está instalado. Se não estiver na mesma pasta, abre-se a possibilidade do Serviço acessar uma base de dados diferente daquela planejada. É preferível, portanto, que se use também uma versão do Omega centralizada na rede para evitar a existência de arquivos Omega.xml diferentes.
1º Passo
-
Configure os parâmetros do Serviço no computador escolhido no passo inicial. Para isso, execute nesse computador o programa SchedConf.exe, que deve estar disponível na pasta do Omega.
- Ao abrir o programa de Configuração, a tela de login é exibida.
- O login aqui é necessário para monitorar as Tarefas agendadas nos Grupos de Execução do banco de dados escolhido.
- Veja que a tela de Identificação do Configurador permite escolher o Alias de banco de dados dentre os disponíveis. São as Tarefas agendadas nesse banco que o Configurador permitirá monitorar.
- Veja as configurações disponíveis reproduzidas na figura abaixo. Lembre-se que as configurações deste programa são armazenadas no Registry do computador e somente o computador que as criou terá acesso.
2º Passo
Guia Banco de Dados \ Conexão
-
Quadro Informações Para Conexão
-
Caminho dos Aliases e Alias Name
Selecione a pasta onde o Omega.XML está gravado e, em seguida, escolha o Aliases para o banco de dados desejado.
O Serviço se conectará ao banco de dados representado por este Alias e executará as Tarefas agendadas que estiverem armazenadas aí. As configurações são lidas a partir do Omega.xml e são exibidas apenas para conferência, não sendo permitido criar novos ALIASES ou modificar os existentes. Para isso, use o programa OmegaAdm.exe.
-
Caminho dos Aliases e Alias Name
-
Quadro Usuário Para Executar Processos Agendados
Informe neste espaço o usuário e senha que o Serviço deve utilizar para se logar no banco de dados do Omega e executar os processos agendados. Use o botão Testar Conexão para saber se as informações foram fornecidas corretamente.
3º Passo
Guia Banco de Dados \ Configurações
-
Quadro Limpeza do Histórico de Execuções
- Habilitar Limpeza Automática. Marque esta caixa para limitar a quantidade de registros no Histórico de execuções mantido pelo Serviço. Com a caixa marcada, serão removidos os registros que sejam mais antigos do que o número de dias anotado em Manter históricos dos últimos X dias. E apenas os Históricos com os tipos de status selecionados em Limpar Histórico com Status é que serão removidos.
-
Quadro Criação de LOGs
-
Habilitar criação de Logs na execução
Marque esta caixa para que o Serviço gere um log gravando quais processos entraram em execução e quais foram os parâmetros passados para cada um deles. O Serviço usará a pasta indicada na caixa Pasta para criar um arquivo de log para cada Grupo de Execução. O nome de cada arquivo será SchedXX.log- onde: XX é o número do Grupo de Execução.
-
Habilitar criação de Logs na execução
4º Passo
Guia Banco de Dados \ Grupos de Execução
-
Guia Grupos de Execução
- Por padrão, a atualização das informações exibidas nas tabelas da guia Grupos de Execução é feita a cada 30 segundos, quando o “Configurador” pesquisa novamente o banco de dados em busca de alterações no status dos processos agendados. O intervalo pode ser ajustado através do botão Intervalo de Atualizações.
-
- Para que as Tarefas que geram relatórios funcionem corretamente é preciso configurar uma impressora do Omega. Essa configuração é feita na guia Grupos de Execução, através do botão Configuração de Impressão. Não é permitido selecionar impressoras do tipo Preview já que esse tipo exige intervenção do usuário e isto não está disponível em serviços do Windows.
-
-
É permitido desativar um Grupo de Execução, suspendo temporariamente as Tarefas Agendadas nele. Basta clicar sobre o ícone verde ao lado do número do Grupo e salvar as alterações. O ícone ficará vermelho, indicando que o Grupo está desativado.
No entanto, se no momento que as configurações forem salvas houver algum processo do Grupo em Execução, ele só será efetivamente desativado quando todas as execuções sequenciais estiverem encerradas.
-
É permitido desativar um Grupo de Execução, suspendo temporariamente as Tarefas Agendadas nele. Basta clicar sobre o ícone verde ao lado do número do Grupo e salvar as alterações. O ícone ficará vermelho, indicando que o Grupo está desativado.
-
Guia Processos Agendados
- Permite monitorar a atividade dos Grupos de Execução. Este programa não executa as Tarefas Agendadas, elas somente serão executadas se o Serviço estiver ativo.
- A primeira coluna da tabela mostra se o processo está agendado (A) ou em execução (E). Outras informações que constam na tabela são a empresa e filial onde o processo foi agendado, a sigla da tela para o processo e a data e hora de início e término da execução.
- Permite monitorar a atividade dos Grupos de Execução. Este programa não executa as Tarefas Agendadas, elas somente serão executadas se o Serviço estiver ativo.
-
- Use os botões de manutenção de Agendamento, na barra abaixo da tabela, para excluir, alterar ou consultar os dados relativos a um agendamento.
-
Guia Histórico de Agendamentos
Nesta guia é possível obter os dados por grupo de execução sobre o processo agendado, se foi ou não executado. E em caso afirmativo, datas/hora de início e fim da execução. -
-
A coluna ST indica o Status do agendamento, onde:
-
- (R) Reagendado
- (C) Cancelado
- (F) Finalizado
-
-
A coluna ST indica o Status do agendamento, onde:
-
Guia Serviços
O painel Status do Serviço Scheduler mostra a situação atual do Serviço, indicando se ele está instalado ou não no computador onde o Configurador está sendo executado.
- Clique no botão para instalar o Serviço de Agendador / Scheduler.
- Depois que o Serviço estiver instalado, no painel exibirá se ele está ou não em execução. O Serviço deve ser instalado em apenas um computador.
-
Use o botão Iniciar para que o Serviço entre em execução, percorrendo a lista de Tarefas agendadas para executá-las conforme a configuração de cada uma.
- Se modificar algum dos parâmetros do Configurador enquanto o Serviço estiver em execução, é recomendável reiniciar o Serviço para garantir que ele está considerando as novas opções. Use o botão Parar para interromper manualmente a execução do Serviço.
Guia Serviços
- Esta guia apresenta o status de instalação e execução de todas as instâncias de serviço de agendamento existentes nesse computador. Isto é, se foram configuradas instâncias do Agendador para bancos de dados diferentes, esta guia listará o status de todas elas, permitindo controlar a execução e instalação de cada um dos Serviços associados.
Guia Eventos
- Use essa guia para verificar e analisar possíveis condições de erro reportados pelo Agendador e outros serviços do Windows. As informações apresentadas aqui são obtidas a partir dos registros do Event Viewer (Visualizador de Eventos) do Windows, para onde o Agendador pode enviar mensagens de status em certas situações.
5º Passo
A instalação do Serviço foi montada para que ele sempre seja iniciado automaticamente junto com o Sistema Operacional. É possível configurar o modo de inicialização e outros parâmetros do Serviço acessando o “Painel de Controle de Serviços do Windows”.
A) O caminho é Iniciar -> Painel de Controle -> Ferramentas Administrativas
B) Com um duplo clique selecione Serviços
C) Na coluna Tipo de Inicialização constará como Manual.
Se preferir que o Serviço seja iniciado apenas manualmente, dê um duplo clique na linha com o nome de serviço ABC71 – Processos Omega Agendados e altere o tipo de inicialização (Startup Type) para manual.
Perguntas Frequentes
-
Qual é a vantagem de se usar o Agendador como serviço?
Resposta:
Um serviço pode ser configurado para entrar em execução automaticamente, junto com o Windows e mesmo antes de algum usuário possa se logado no Sistema Operacional. O Agendador antigo não permite isso e tem que ser executado manualmente sempre.
-
Posso instalar o Serviço do Agendador em mais de uma máquina?
Resposta:
Em termos. A instalação em si não traz problemas; o que não pode acontecer é ter mais de uma máquina com o Agendador executando ao mesmo tempo usando o mesmo banco de dados. As execuções distintas do Serviço não enxergam umas às outras e poderão tentar executar o mesmo processo simultaneamente, com resultados imprevisíveis.
-
Posso misturar o antigo Agendador com o Serviço?
Resposta:
Em termos. Ambas as versões trabalham com as mesmas estruturas no banco de dados e as manutenções feitas com uma versão são totalmente compatíveis com aquelas feitas com a outra. O que não pode acontecer é ter ambas em execução ao mesmo tempo. Veja a resposta da pergunta anterior.
-
É possível desinstalar o Serviço do Agendador?
Resposta:
Sim. Interrompa a execução do Serviço, abra o programa Command Prompt do Windows, vá até a pasta onde o Omega está instalado e dê o comando SchedServ /UNINSTALL
-
Como transfiro a execução do Serviço para outro computador?
Resposta:
Primeiro, desinstale o Serviço do computador onde ele está atualmente instalado, conforme as instruções na resposta à pergunta anterior. Depois vá até o novo computador, abre o programa Configurador e refaça as configurações. Isto é necessário porque as configurações para o Serviço são gravadas no Registry local do Windows e o novo computador não enxergará as configurações que foram salvas no outro. Após terminar a configuração, instale o Serviço clicando no botão de instalação do Configurador. Se desejar, inicie o Serviço manualmente.
-
É possível impedir que o Serviço do Agendador entre automaticamente no ar?
Resposta:
Sim. Basta acessar o Painel de Controle de Serviços do Windows no caminho é Iniciar -> Painel de Controle -> Ferramentas Administrativas -> Serviços e modificar o Startup Type (tipo de inicialização) do serviço ABC71 – Processos Omega Agendados.
-
Qual o caminho utilizado pelo Serviço para criar pastas e arquivos durante a execução de um processo?
Resposta:
Este caminho está fixo dentro do Serviço e é sempre a pasta onde está instalado o Omega.
Comentários
0 comentário
Artigo fechado para comentários.