Schedule Protheus
Aqui você encontra todas as documentações e novidades sobre o Schedule

 

Conceito

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 agendada e não ao Schedule Protheus em si.

Funcionamento

O novo 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;
  • Engine: Este é o componente que gerencia as execuções fazendo o controle da fila de tarefas que serão executadas e distribuí as tarefas para as Executes que estão disponíveis no momento.
  • 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. Possui limite de 3 threads por padrão.


Quando ativo, na inicialização do ambiente o sistema se encarrega de preparar as threads responsáveis por cada componente (Manager, Engine e Execute), comportamento que se aplica para todos Servers que compartilhem do mesmo ambiente configurado tornando-se um processo automático sem a necessidade de quaisquer configurações adicionais.

Para cenários em que existam diversos Serves trabalhando simultaneamente, obrigatoriamente apenas um dos servers ficará encarregado de executar componente Manager, os demais subirão apenas os componentes Engine e Execute. Em caso de interrupção do server responsável pelo Manager um próximo server assume automaticamente o comando de Manager.

Novo App
Pré-requisitos
Processos

A listagem dos agendamentos é uma rotina que contém uma tabela com as seguintes informações:

  • Código do Agendamento
  • Código do Usuário**
  • Nome do Usuário
  • Rotina
  • Data Inicial**
  • Hora Inicial**
  • Ambiente
  • Empresa e filial**
  • Módulo**

** Colunas ocultas que serão apresentadas apenas se forem habilitadas pelo usuário.


Nela, também é possível realizar uma Busca Rápida ou uma Busca Avançada. A busca rápida consiste em uma busca mais simples, na qual irá filtrar o valor digitado para os campos de Rotina e Código do Usuário. Sendo assim, ao realizar essa busca mais simples, o sistema irá buscar os itens que contém a expressão filtrada nos campos Rotina e Código do Usuário. Exemplo: se o valor digitado for 'mata410', o sistema irá buscar este valor nos dois campos.

No caso da busca avançada, o operador utilizando é o igual. Portanto, para que o valor desejado seja encontrado, deve-se digitar exatamente o que deseja, considerando letras maiúsculas e minúsculas. Esse filtro pode ser realizado por Rotina e Código do Usuário, apenas por Rotina ou apenas por Código do Usuário.


Busca rápida


Busca avançada

O novo cadastro de agendamentos consiste em três etapas:
    1. Agendamento
    2. Parametrização
    3. Concluir


Agendamento

A etapa de Agendamento é onde a periodicidade da tarefa será agendada, podendo ser:

Tipo da periodicidadeDescrição
ÚnicaIrá executar apenas no dia e hora informados nos campos Dia e Horário.
Diária

Opção Frequência: Se marcada como sim, deve-se informar uma frequência de execução por horas ou minutos, sendo que deve haver uma horário inicial e final para essa execução. Se marcada como não, deve-se apenas informar um único horário para a execução do agendamento.

Opção Recorrente: Se marcada como sim, considera os parâmetros de frequência para a execução. Se marcada como não, considera apenas os parâmetros de primeira execução.

Semanal

Opção Frequência: Se marcada como sim, deve-se informar uma frequência de execução por horas ou minutos, sendo que deve haver uma horário inicial e final. Se marcada como não, deve-se apenas informar um único horário. Para as duas opções, devem ser informados os dias da semana para a execução.

Opção Recorrente: Se marcada como sim, considera os parâmetros de frequência para a execução. Se marcada como não, considera apenas os parâmetros de primeira execução.

Mensal

Opção Frequência: Se marcada como sim, deve-se informar uma frequência de execução por dias, horas ou minutos, sendo que deve haver uma horário inicial e final e dia inicial e final. Se marcada como não, deve-se informar apenas o dia e horário para a execução.

Opção Recorrente: Se marcada como sim, considera os parâmetros de frequência para a execução. Se marcada como não, considera apenas os parâmetros de primeira execução.

Sempre Ativo

Define execução contínua da rotina.

A partir da LIB 20140115.

A opção de 'Descartar tarefas atrasadas', define a geração das tarefas que estiverem em atraso com status 'Cancelado', desta forma sendo descartadas pela execução.

  • A partir da LIB 20140226.



Parametrização

A etapa de Parametrização é onde serão informados os parâmetros para a execução, sendo eles:

Tipo do parâmetroDescrição
PadrãoSão todos os campos que já existiam no formato antigo, sendo: Empresa, Filial, Módulo, Usuário e Descrição.
Parâmetros da rotinaSão os parâmetros que cada rotina já possui hoje, então varia de rotina para rotina. Caso seja EAI, essa seção não será apresentada.
Parâmetros de impressãoMesmos parâmetros de impressão que o formato antigo, sendo que o Tipo de Impressão só será habilitado caso a Forma de Impressão seja "Email", assim como o Formato da Planilha só será habilitado quando o Tipo de Impressão for "Planilha". Caso seja EAI, essa seção não será apresentada.



Informações adicionais

  1. Nesta etapa, o campo de "Avançar" só será habilitado quando todos os campos obrigatórios forem preenchidos;
  2. O módulo 99 - Configurador só pode ser selecionado para rotinas EAI;
  3. O campo de Filial torna-se obrigatório quando a rotina for EAI.


Concluir

A etapa Concluir é a final antes de incluir ou atualizar o agendamento e disponibiliza um resumo da periodicidade do agendamento.


Exemplos de utilização

O monitoramento é uma rotina para listagem das execuções de agendamentos, contendo uma tabela com as seguintes informações:

  • Status
  • Agendamento
  • Código da Execução
  • Ambiente
  • Empresa
  • Filial
  • Usuário
  • Dia
  • Hora
  • Rotina
  • Módulo
  • Server
  • Versão do Schedule


Nela, também é possível realizar uma Busca Rápida ou uma Busca Avançada. Similar a buscas realizadas pela listagem de agendamentos, no entanto a busca rápida se dá para os campos de Código da Execução ou Server

No caso da busca avançada, o filtro pode ser realizado por todos os campos, menos por Server.


Busca rápida


Busca avançada


O menu de Limpeza de Tabelas permite a limpeza dos registros de uma determinada tabela pré-selecionada.

Pré-requisitos
  • Disponível a partir da lib 20240408.

Tabelas disponíveis: 

  • Tarefas
  • EAI
  • Eventos

Nela, também é possível realizar uma Busca Rápida ou uma Busca Avançada. Similar a buscas realizadas pela listagem de agendamentos e monitoramento


Limpar

Em caso de Busca Rápida/Avançada, a exclusão dos registros será executada respeitando o filtro aplicado. 


Exemplos de utilização


Busca rápida


Busca avançada



Novidades

(informação) Confira a nova funcionalidade que permite manusear os agendamentos diretamente pela rotina via Função callSchedule

(informação) Confira como configurar a geração de notificações das execuções agendadas via schedule através dos Eventos de Progresso

DOCUMENTAÇÃO LEGADO (ANTIGO SCHEDULE)

Schedule - Como agendar a execução de rotinas