Skip to content

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.


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
┌────────────────────────────────────────────────────────────────────────┐
│ 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.

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.


A execução das rotinas programadas segue um fluxo descentralizado e resiliente entre o Console e o Agendador:

  1. Persistência no Console

    O desenvolvedor cria ou altera a regra temporal na interface gráfica do Console.

  2. 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).

  3. 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}).

  4. Atualização de Indicadores

    Após o disparo, o agendamento atualiza seus campos de auditoria no banco (ultimaExecucao e, em caso de sucesso da Engine, ultimaExecucaoSucesso).


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.


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.