Versões comparadas

Chave

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

Documentação sobre o Schedule transferida para a Base de Conhecimento do Framework:

Schedule - Como agendar a execução de rotinas

 

Schedule Protheus

 

Conceitos

O Schedule Protheus permite que rotinas do sistema sejam agendadas para que possam ser executadas posteriormente, em um período determinado pelo usuário. É possível definir quando (dias, horários e quantidades de execuções) e em qual Grupo de Empresas e Filiais o processo será executado. O Schedule Protheus não realiza nenhum processamento. Sua função é chamar a rotina agendada no momento definido ou manter esta rotina sendo executada constantemente, quando o agendamento é configurado como sempre ativo. Consumo de memória, desempenho e processamento são atributos associados a rotina agenda, e não ao Schedule Protheus em si.
O Schedule Protheus é composto por três componentes principais:

  • Manager: Componente responsável por fazer o gerenciamento das tarefas, como o controle de geração das tarefas (Task Manager) e o controle da fila das tarefas que serão executadas (Queue Manager);
  • Agent: Este é o componente que gerencia as execuções e distribuí as tarefas para que as Executes configuradas que estão disponíveis no momento. Os Agents podem estar localizados em servidores diferentes, possibilitando o balanceamento da carga de execuções;
  • Execute: São os componentes responsáveis por realizar a chamada das rotinas agendadas. A única das entidades que consome licença no Schedule Protheus, e isto ocorre na execução da rotina agendada.

Monitoramento dos serviços do Schedule Protheus

Existem dois serviços que estão configurados no Schedule Protheus.

  • Task Manager: Serviço de verificação de agendamentos. Este serviço é responsável por monitorar os agendamentos e gerar as tarefas para execução.
  • Queue Manager: Serviço de gerenciamento de filas. Este é o serviço que faz a distribuição das tarefas entre os Agents configurados.

Para visualizar estes serviços acesse o módulo Configurador (Sigacfg) e no menu acesse Ambiente/Schedule/Schedule (CFGA010):

...

Monitoramento de Agents

Nesta visão são exibidas informações sobre o status dos Agents e também sobre os eventos de cada um.
Image Removed
Figura 2 - Monitor de Agents. Aqui são exibidos os seus status e a data e hora de última utilização de cada um.

...

Agendamento de rotinas no Schedule Protheus

...

  • Esta rotina esteja em um dos menus do sistema;
  • O usuário associado possua permissão para executar a rotina a ser agendada;
  • A rotina a ser agendada possua a função static Scheddef (veja detalhes sobre a criação da Scheddef no TDN).

...

Monitor da Fila do EAI

Na interface do Schedule Protheus é possível verificar as mensagens trafegadas no EAI Protheus. No Schedule, selecionando EAI a fila de transações é apresentada.
Image Removed
Figura 9 - Fila de transações do EAI Protheus

...

Limpeza de tabelas do Schedule Protheus

É possível através da interface do Schedule Protheus apagar registros das tarefas, da fila de mensagens do EAI Protheus ou ainda dos eventos associados. Para isto, posicione em Limpeza de tabelas.
Image Removed
Figura 11 - Limpeza de tabelas do Schedule Protheus

...

 

Considerações sobre rotinas agendadas

Criar uma rotina para ser agendada no Schedule Protheus é algo simples, porém, alguns cuidados devem ser observados. Existem algumas regras e definições que devem ser observadas no processo. Consumo de memória, travamento do serviço e desempenho são preocupações a serem tomadas pela rotina que foi agendada, e nunca pelo Schedule Protheus.
Outro cuidado que deve ser tomado ao preparar uma rotina para ser executada via Schedule, ou em qualquer job, é com relação a componentes de interface. Uma rotina que será executada apenas no server não pode ter interação com componentes que precisam de cliente para serem criados. O uso indevido desses componentes irá gerar um erro de comunicação e consecutivamente irá interromper o processamento.
Vale ressaltar que, o Schedule Protheus apenas aciona a rotina agendada e os problemas mencionados acima não estão relacionados a ele.

Agendamentos atrasados

...

Criando uma rotina de Processo Especial no Schedule Protheus

...

Criando uma rotina com Scheddef no Schedule Protheus sem receber parâmetros

Podemos criar uma rotina agendada no Schedule Protheus declarando na rotina a função Static Scheddef. Para mais informações sobre a Scheddef consulte a página no TDN.
Abaixo, o exemplo de cadastramento de uma rotina que possui Scheddef definida, mas não possui nenhum Pergunte (SX1) para a rotina:

...

Criando uma rotina com Scheddef no Schedule Protheus recebendo parâmetros do SX1

Vamos agora criar uma nova rotina com Scheddef, passando um pergunte (SX1) para a rotina.

...

Criando uma rotina de relatório com Scheddef no Schedule Protheus recebendo parâmetros do SX1

...

Índice
outlinetrue
separatorpipe

 

...