Pular para o conteúdo principal
Agendamentos permitem executar a reconciliação automaticamente em uma cadência recorrente, em vez de disparar execuções de correspondência manualmente. Cada agendamento pertence a um contexto de reconciliação e dispara com base em uma expressão cron, de modo que um contexto pode ser reconciliado diariamente, de hora em hora ou em qualquer frequência personalizada que você definir.

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.
CampoTipoDescrição
idUUIDIdentificador único do agendamento
contextIdUUIDContexto ao qual este agendamento pertence
cronExpressionStringExpressão cron que define a frequência (por exemplo, 0 0 * * * para diariamente à meia-noite)
enabledBooleanSe o agendamento está ativo
lastRunAtTimestampHorário da última execução bem-sucedida (RFC 3339)
nextRunAtTimestampHorário da próxima execução agendada (RFC 3339)
createdAt / updatedAtTimestampTimestamps 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çãoMétodo e caminho
Criar agendamentoPOST /v1/contexts/{contextId}/schedules
Listar agendamentosGET /v1/contexts/{contextId}/schedules
Consultar agendamentoGET /v1/contexts/{contextId}/schedules/{scheduleId}
Atualizar agendamentoPATCH /v1/contexts/{contextId}/schedules/{scheduleId}
Excluir agendamentoDELETE /v1/contexts/{contextId}/schedules/{scheduleId}

Criando um agendamento


Forneça uma cronExpression; enabled assume o valor ativo por padrão quando omitido.
cURL
curl -X POST "https://api.matcher.example.com/v1/contexts/{contextId}/schedules" \
 -H "Authorization: Bearer $TOKEN" \
 -H "Content-Type: application/json" \
 -d '{
   "cronExpression": "0 0 * * *",
   "enabled": true
 }'
cronExpression
String
obrigatório
Expressão cron que define a frequência de execução (1–100 caracteres)
enabled
Boolean
Se o agendamento fica ativo imediatamente
A resposta retorna o agendamento criado, incluindo seu 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
curl -X PATCH "https://api.matcher.example.com/v1/contexts/{contextId}/schedules/{scheduleId}" \
 -H "Authorization: Bearer $TOKEN" \
 -H "Content-Type: application/json" \
 -d '{
   "cronExpression": "0 6 * * *",
   "enabled": false
 }'
Exclua o agendamento (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


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