Histórico da Página
Utilização da ferramenta schedule para automatizar a execução de rotinas
Produto: | Microsiga Protheus |
Versões: | 11 e 12 |
Passo a passo: | 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.
|
Monitoramento dos serviços do Schedule ProtheusExistem dois serviços que estão configurados no Schedule Protheus.
Para visualizar estes serviços acesse o módulo Configurador (Sigacfg) e no menu acesse Ambiente/Schedule/Schedule (CFGA010):
|
complexidade de manipulação dos serviços existe um botão de atualização (quinto botão) que permite que esta interface seja atualizada. Para que o Schedule Protheus funcione estes dois serviços devem estar iniciados. Monitoramento de AgentsNesta visão são exibidas informações sobre o status dos Agents e também sobre os eventos de cada um.
|
IP, porta de comunicação e empresa na qual este Agent irá se conectar e o número de Threads disponíveis para execução das rotinas agendadas. É possível também desabilitar o Agent, caso necessário, ou ainda excluí-lo.
|
não através da coluna Status.
Agendamento de rotinas no Schedule ProtheusCadastrar as rotinas no Schedule Protheus é muito simples. Acesse Ambiente/Schedule/Schedule (CFGA010). Clicando em Agendamentos é possível verificar quais rotinas estão agendadas para execução.
O botão Parâmetros trará os parâmetros da rotina, caso a mesma possua Scheddef definida. Para rotinas que possuem Scheddef definida não é possível realizar passagem de parâmetros diretamente na rotina.
|
Monitor da Fila do EAINa interface do Schedule Protheus é possível verificar as mensagens trafegadas no EAI Protheus. No Schedule, selecionando EAI a fila de transações é apresentada.
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.
|
Considerações sobre rotinas agendadasCriar 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. Agendamentos atrasadosO Schedule Protheus mantém um controle interno dos agendamentos que não foram realizados. Devido a esta característica, caso existam agendamentos que não foram executados no momento correto ele irá iniciar em sequência todos os agendamentos que já deveriam ter sido iniciados até que o processo seja normalizado. Vejamos o exemplo a seguir:
Criando uma rotina de Processo Especial no Schedule ProtheusUma rotina de Processo Especial é uma rotina que não possuí a rotina estática Scheddef definida. Nestes casos a rotina agendada passa os seus parâmetros diretamente. Uma thread separada é inicializada para o processamento e neste cenário a montagem do ambiente não é realizada, devendo ser tratada internamente na rotina que foi agendada. o Schedule faz o controle da fila de tarefas agendadas, de maneira que uma mesma tarefa não possa ser executada de maneira simultânea. Considera-se como tarefa um agendamento de uma rotina para um par empresa e filial. |
Criando uma rotina com Scheddef no Schedule Protheus sem receber parâmetrosPodemos 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.
Criando uma rotina com Scheddef no Schedule Protheus recebendo parâmetros do SX1Vamos 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
Função que retorna se a execução está dentro do novo Schedule Protheus FWGetRunSchedule( ) Sem parâmetro de entrada. Retorno - lRet - Indica se está ou não em execução pelo Schedule Protheus. | |||||||||||||||||||||||
Observações: |