Agendamentos
O agendamento de tarefas permite que uma atividade seja executada em uma data e/ou hora determinada ou periodicamente, o que possibilita o controle da quantidade de execuções, com data limite ou mesmo por tempo indeterminado, de forma automática. Por exemplo, configurar o sistema para emitir um relatório em um período do dia.
O serviço de agendamento permite apenas agendar tarefas de serviços da plataforma e referenciá-las por seu domínio, serviço e nome da primitiva (endpoint). Somente endpoints catalogados podem ser cadastrados para executar.
O que você pode fazer:
- Acesse Tecnologia > Customização > Agendamentos e escolha o agrupamento de domínio que deseja configurar;
- Clique no serviço desejado para abrir as opções de agendamento e, em seguida, Criar agendamento;
- Em Dados do agendamento, preencha os campos Nome do agendamento e Situação;
- Em Funcionalidade, escolha a funcionalidade que o agendamento vai implementar;
- No campo Parâmetro de entrada, configure o tipo de entrada que o agendamento receberá. A maioria dos serviços exige um payload de entrada para poder executar. Essa entrada pode ser definida de duas formas: JSON ou JavaScript. Em ambos os casos, a entrada deve estar de acordo com o contrato esperado pelo serviço que está sendo executado.
- Configure a entrada que será executada. Também é possível configurar tags para melhor localização e controle do agendamento.
- Em Execução, configure o período de execução da tarefa.
- Clique em Salvar.
Para utilizar a sincronização automática, crie o agendamento:
- Acesse o menu Tecnologia > Customização > Agendamentos;
- Em Usuários, no serviço User, crie o agendamento. Para facilitar a identificação, o nome, por exemplo, pode ser Sincronizar Usuários LDAP;
- Marque a opção Ativo e selecione a funcionalidade synchronizeLDAPUsers e o tipo de input JSON;
- Em Input informe { tenantName: xxxx}
- Informe a data inicial do agendamento e o horário em que será feita a sincronização;
- Selecione a opção Repetir, defina a frequência da sincronização. Escolha a opção Nunca para indicar o término agendado desta sincronização.
- Salve o agendamento.
- Acesse Tecnologia > Customização > Agendamentos;
- Na tela de agendamentos, escolha o agrupamento de domínio que deseja configurar;
- Clique no serviço desejado para abrir as opções de agendamento;
- No agendamento que deseja, clique em Editar;
- Altere o campo do painel Dados do agendamento;
- Clique em Salvar.
Importante
Nas tarefas agendadas é possível apenas alterar a parametrização do agendamento. Essa limitação existe para evitar conflitos de quantidade e períodos de execução.
A inativação e exclusão de um agendamento devem ser feitas em Tecnologia > Customização > Agendamentos. Na tela de agendamentos, escolha o agrupamento de domínio que deseja configurar e clique no serviço desejado para abrir as opções de agendamento.
Clique em Editar no agendamento que deseja, altere o campo Situação para Inativo e clique em Salvar, ou, para exclusão, clique em Editar e depois em Excluir.
Todas as execuções de um serviço são registradas e mantidas em um histórico, que pode ser acessado pelo botão Visualizar histórico. Será exibida uma tabela com os agendamentos e o status de execução. Caso desejar ver apenas os agendamentos que falharam ao serem executados, clique em Exibir apenas erros.
As informações mantidas para uma execução são:
- id: identificação única da execução;
- jobId: identificador da tarefa executada;
- status: status da execução, que pode ser Success ou Error;
- start: início da execução;
- finish: fim da execução;
- duration: duração da execução, em milissegundos;
- response: a resposta do serviço chamado, tanto para erros como para execuções bem-sucedidas.
Por padrão, os históricos de execuções com mais de 90 dias são apagados. Para ajustar este valor, consulte a documentação de configuração do valor da propriedade job.history.max_age.
Para controlar comportamentos específicos dos agendamentos, a seguinte TAG reservadas pode ser utilizada:
- DISABLE_NOTIFICATION: Adicione esta TAG ao JOB se não desejar receber notificações de falha relacionadas à mensagem O job está encontrando problemas ao tentar se comunicar com a primitiva. Quando essa TAG estiver presente, as notificações não serão enviadas.