- Criado por Jandir Deodato De Souza Silva, última alteração por Leonardo Castro da Silva em 15 out, 2024
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.
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 o componente Manager, os demais apenas executam 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.
- Obrigatória ativação da Porta Multiprotocolo e Interface Protheus com PO UI (vide Nova interface do Protheus com PO UI);
- Disponível a partir da lib 20231009.
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 periodicidade | Descrição |
---|---|
Única | Irá 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âmetro | Descrição |
---|---|
Padrão | São todos os campos que já existiam no formato antigo, sendo: Empresa, Filial, Módulo, Usuário e Descrição. |
Parâmetros da rotina | Sã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ão | Mesmos 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
- Nesta etapa, o campo de "Avançar" só será habilitado quando todos os campos obrigatórios forem preenchidos;
- O módulo 99 - Configurador só pode ser selecionado para rotinas EAI;
- 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.
- 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
Novidades
Confira a nova funcionalidade que permite manusear os agendamentos diretamente pela rotina via Função callSchedule
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)
ÚLTIMAS ATUALIZAÇÕES
Atualizado recentemente