O que é um agendamento?
Um agendamento é um gatilho baseado em cron vinculado a um contexto. Quando dispara, o Matcher lança uma execução de reconciliação para aquele contexto usando suas regras e fontes ativas.
| Campo | Tipo | Descrição |
|---|---|---|
id | UUID | Identificador único do agendamento |
contextId | UUID | Contexto ao qual este agendamento pertence |
cronExpression | String | Expressão cron que define a frequência (por exemplo, 0 0 * * * para diariamente à meia-noite) |
enabled | Boolean | Se o agendamento está ativo |
lastRunAt | Timestamp | Horário da última execução bem-sucedida (RFC 3339) |
nextRunAt | Timestamp | Horário da próxima execução agendada (RFC 3339) |
createdAt / updatedAt | Timestamp | Timestamps de criação e da última atualização (RFC 3339) |
Ciclo de vida do agendamento
Agendamentos suportam um ciclo de vida CRUD completo em
/v1/contexts/{contextId}/schedules.
| Ação | Método e caminho |
|---|---|
| Criar agendamento | POST /v1/contexts/{contextId}/schedules |
| Listar agendamentos | GET /v1/contexts/{contextId}/schedules |
| Consultar agendamento | GET /v1/contexts/{contextId}/schedules/{scheduleId} |
| Atualizar agendamento | PATCH /v1/contexts/{contextId}/schedules/{scheduleId} |
| Excluir agendamento | DELETE /v1/contexts/{contextId}/schedules/{scheduleId} |
Criando um agendamento
Forneça uma
cronExpression; enabled assume o valor ativo por padrão quando omitido.
cURL
Expressão cron que define a frequência de execução (1–100 caracteres)
Se o agendamento fica ativo imediatamente
id, nextRunAt e timestamps. A listagem de agendamentos (GET) retorna todos os agendamentos do contexto, habilitados e desabilitados igualmente.
Pausar vs. excluir um agendamento
Quando você precisa parar uma reconciliação recorrente, tem duas opções — e a escolha importa. Desabilite o agendamento para pausar as execuções automáticas mantendo sua configuração e histórico. Reabilitar depois é uma única chamada, sem necessidade de recriá-lo. Atualize a expressão cron, alterne
enabled ou ambos (os campos omitidos permanecem inalterados):
cURL
DELETE .../schedules/{scheduleId}) apenas quando a cadência acabou de vez — a exclusão é permanente. Para simplesmente fazer uma pausa, desabilite em vez disso.
Boas práticas
Alinhe a cadência com a disponibilidade das fontes
Alinhe a cadência com a disponibilidade das fontes
Agende as execuções para dispararem depois que todas as fontes do contexto tiverem entregue seus dados do período. Executar antes de a ingestão concluir produz exceções evitáveis.
Prefira desabilitar a excluir
Prefira desabilitar a excluir
Ao pausar uma cadência de reconciliação, desabilite o agendamento para que histórico e configuração sejam preservados e reabilitar seja uma única chamada.
Use expressões cron explícitas
Use expressões cron explícitas
Mantenha as expressões cron legíveis e documentadas (por exemplo,
0 0 * * * = diariamente às 00:00). Verifique as premissas de fuso horário do seu ambiente antes de depender de um agendamento para execuções sensíveis a SLA.Próximos passos
Contextos e Fontes
Configure os contextos e as fontes que um agendamento reconcilia.
Gerando Relatórios
Revise os resultados produzidos pelas execuções agendadas.

