Agendamento de Execuções
O Agendamento de Execuções é o recurso do Console responsável por configurar rotinas de execução automática e periódica para versões de fluxos publicadas em um Ambiente. Em vez de aguardar uma requisição HTTP externa, a plataforma utiliza o componente Agendador para disparar o pipeline em background nos horários programados via expressões CRON.
Estrutura do Agendamento
Section titled “Estrutura do Agendamento”Um agendamento vincula uma Versão Publicada a uma regra temporal e a um conjunto de parâmetros de execução. Cada registro de agendamento (EntidadeAgendamento) é composto por:
┌────────────────────────────────────────────────────────────────────────┐│ CONFIGURAÇÃO DO AGENDAMENTO ││ - Ambiente de Destino - Expressão CRON (Periodicidade)││ - Versão e Fluxo Alvo - Estado (Ativo / Inativo) ││ - Dados de Entrada (Query Params/Body) - Token de Autenticação (Auth) │└───────────────────────────────────┬────────────────────────────────────┘ │ Sincronização Periódica ▼┌────────────────────────────────────────────────────────────────────────┐│ AGENDADOR ││ - Executa o Job CRON - Dispara chamada na Engine │└───────────────────────────────────┬────────────────────────────────────┘ │ Registro de Auditoria ▼┌────────────────────────────────────────────────────────────────────────┐│ LOGS DE EVENTOS (EVENTO) ││ - Horário de Início e Duração - Status HTTP e Payload Retornado│└────────────────────────────────────────────────────────────────────────┘1. Parâmetros de Destino e Regra Temporal
Section titled “1. Parâmetros de Destino e Regra Temporal”-
Versão e Ambiente: O agendamento é vinculado obrigatoriamente a uma versão específica de um fluxo que esteja publicada no ambiente de destino no escopo
AGENDADOR. -
Expressão CRON: Regra temporal padronizada que determina os intervalos e horários exatos de disparo (ex:
0 0 12 * * ?para executar diariamente ao meio-dia). O Console valida a sintaxe da expressão CRON antes de permitir a gravação do agendamento. -
Estado: Permite ativar ou desativar temporariamente a rotina sem a necessidade de excluir a configuração do banco de dados.
2. Contexto de Execução da Requisição
Section titled “2. Contexto de Execução da Requisição”Como o disparo ocorre em background sem um cliente HTTP ativo, o desenvolvedor pode pré-configurar os payloads e cabeçalhos que serão injetados na entrada da transação no momento do disparo:
-
Query Params: Parâmetros de URL fixos enviados para a Engine.
-
Corpo (
body): Payload JSON ou texto pré-definido para alimentar a primeira etapa do fluxo. -
Autenticação (
auth): Token JWT armazenado na configuração do agendamento para permitir que o fluxo acesse recursos protegidos durante a execução.
Sincronização e Disparo
Section titled “Sincronização e Disparo”A execução das rotinas programadas segue um fluxo descentralizado e resiliente entre o Console e o Agendador:
-
Persistência no Console
O desenvolvedor cria ou altera a regra temporal na interface gráfica do Console.
-
Reconciliação Automática
O serviço do Agendador roda uma rotina interna periódica que consulta os agendamentos ativos na base de dados, atualizando sua memória interna (adicionando novos jobs, removendo excluídos ou ajustando horários).
-
Disparo da Tarefa
Quando a expressão CRON é atendida, o job do Agendador é instanciado em uma thread virtual, constrói o contexto com os parâmetros configurados e efetua uma chamada HTTP para a URL privada da Engine no ambiente alvo (
/scheduler/{coFluxo}). -
Atualização de Indicadores
Após o disparo, o agendamento atualiza seus campos de auditoria no banco (
ultimaExecucaoe, em caso de sucesso da Engine,ultimaExecucaoSucesso).
Auditoria e Registro de Eventos (Evento)
Section titled “Auditoria e Registro de Eventos (Evento)”Para garantir rastreabilidade completa das execuções em background, cada disparo gerado por um agendamento cria um histórico detalhado de evento (EntidadeEvento).
O desenvolvedor pode consultar no Console a lista de eventos de um agendamento com as seguintes métricas:
-
Horário de Início: Data e hora exatas em que o Agendador disparou a rotina.
-
Duração: Tempo total em milissegundos gasto na execução da chamada HTTP até a resposta da Engine.
-
Status HTTP: Código de resposta retornado pela Engine (ex:
200 OK,400 Bad Request,500 Internal Server Error). -
Payload de Resposta: Corpo da resposta retornado pelo fluxo (mensagens de erro são automaticamente truncadas em 140 caracteres no log para otimização de armazenamento).
-
Resultado: Indicador visual de sucesso ou falha do disparo.
Operações no Console
Section titled “Operações no Console”Através do Console de Gestão, o desenvolvedor possui controle total sobre os agendamentos de um ambiente:
-
CRUD Completo: Criar, visualizar detalhes, atualizar payloads/expressões CRON e realizar a exclusão lógica do agendamento.
-
Alternância de Status: Ativar ou pausar agendamentos com um clique.
-
Inspeção de Logs: Visualizar o histórico de eventos individual de cada tarefa programada para diagnósticos e depuração de falhas.