> ## Documentation Index
> Fetch the complete documentation index at: https://docs.lerian.studio/llms.txt
> Use this file to discover all available pages before exploring further.

# Agendamentos do contexto

> Automatize a conciliação pela interface do Matcher adicionando a um contexto agendamentos de matching baseados em cron, com prévia ao vivo da expressão.

Use a aba **Agendamentos** na página de configuração de um contexto para automatizar a execução da conciliação. Cada agendamento de matching define quando o motor do Matcher roda a correspondência automaticamente para o contexto selecionado.

<Note>
  Os agendamentos de matching definem **quando a correspondência automática roda** para o contexto de conciliação. Eles não puxam dado nenhum. Para agendar quando uma fonte ingere dados, abra uma fonte e gerencie os agendamentos de ingestão dela.
</Note>

## Como acessar os agendamentos

***

1. Vá para **Configurar → Contextos** na barra lateral esquerda.
2. Clique em um contexto para abrir a página de configuração dele.
3. Selecione a aba **Agendamentos**.

<Note>
  A aba Agendamentos vale para um contexto existente. Para contextos novos, salve o contexto primeiro.
</Note>

## Lista de agendamentos

***

A lista mostra todos os agendamentos de matching configurados para o contexto. Cada linha mostra:

* A expressão cron
* Um selo **Habilitado** ou **Desabilitado**
* Os carimbos de tempo **Última execução · Próxima execução** em UTC. A interface mostra `–` em **Última execução** até o agendamento rodar, e em **Próxima execução** num agendamento desabilitado
* Botões de edição (lápis) e de exclusão (lixeira) na própria linha

## Criar um agendamento

***

<Steps>
  <Step>
    Na aba **Agendamentos**, clique no botão **Adicionar agendamento de matching**.
  </Step>

  <Step>
    Uma caixa de diálogo chamada **Adicionar agendamento de matching** abre. Informe o agendamento no campo **Expressão cron** (placeholder `0 2 * * *`, até 100 caracteres).

    Conforme você digita, uma prévia ao vivo aparece abaixo do campo. Para formatos comuns, a prévia mostra uma frase legível como "Executa: todo dia às 02:00". Para formatos válidos mas incomuns, ela mostra "Expressão de agendamento válida." Para uma expressão malformada, ela mostra um erro. A prévia é uma dica e não impede o envio.

    A prévia reconhece a sintaxe de intervalo e de macros nomeadas, como `@every 15m`, mesmo que os agendamentos de matching do Matcher não a aceitem. O servidor aceita apenas uma expressão cron padrão de cinco campos e aplica a política de cadência dele quando você salva.
  </Step>

  <Step>
    A caixa de seleção **Habilitado** vem marcada por padrão. Deixe-a marcada para criar um agendamento ativo, ou desmarque-a para criar um desabilitado. Um agendamento desabilitado continua configurado e não tem horário de próxima execução. As consultas posteriores do worker não o selecionam.
  </Step>

  <Step>
    Clique em **Criar agendamento de matching**.
  </Step>
</Steps>

<Accordion title="Como escrever uma expressão de agendamento">
  O Matcher avalia uma **expressão cron** em UTC. Ela usa cinco campos separados por espaço: `minute hour day-of-month month day-of-week`.

  | Campo         | Intervalo               |
  | ------------- | ----------------------- |
  | Minuto        | `0–59`                  |
  | Hora          | `0–23`                  |
  | Dia do mês    | `1–31`                  |
  | Mês           | `1–12`                  |
  | Dia da semana | `0–7` (0 e 7 = domingo) |

  Caracteres especiais comuns:

  * `*`: qualquer valor
  * `,`: lista de valores (por exemplo, `1,15,30`)
  * `-`: intervalo (por exemplo, `9-17`)
  * `/`: passo (por exemplo, `*/15` para cada 15 unidades)

  Exemplos:

  * `0 6 * * *`: todo dia às 06:00 UTC
  * `*/15 * * * *`: a cada 15 minutos
  * `0 9 * * 1-5`: às 09:00 UTC nos dias de semana

  O Matcher não aceita a sintaxe `@every …` nem macros nomeadas. Quando você restringe tanto o dia do mês quanto o dia da semana (e não deixa apenas `*`), o Matcher usa a semântica OR padrão do cron. Uma correspondência em qualquer um dos campos dispara o agendamento. O servidor exige pelo menos cinco minutos entre disparos. A menor cadência permitida é `*/5 * * * *`. Por exemplo, o servidor rejeita `* * * * *` e `*/2 * * * *`.

  Para validar uma expressão, use o [crontab.guru](https://crontab.guru) para prever quando ela vai rodar.
</Accordion>

## Editar um agendamento

***

Clique no botão de lápis na linha de um agendamento. A caixa de diálogo **Editar agendamento de matching** abre com a expressão cron atual e o estado **Habilitado** preenchidos. Atualize os campos e clique em **Salvar alterações**. Para um agendamento habilitado, salvar recalcula a **Próxima execução** a partir do horário UTC atual. Desabilitá-lo remove esse carimbo de tempo.

<Note>
  A caixa de diálogo de edição mostra apenas a expressão cron e a caixa de seleção Habilitado. Os carimbos de tempo **Última execução** e **Próxima execução** aparecem na linha da lista.
</Note>

## Excluir um agendamento

***

Clique no botão de lixeira na linha de um agendamento. Uma caixa de diálogo de confirmação **Excluir agendamento de matching?** aparece. Clique em **Excluir** para remover o agendamento em definitivo.

<Warning>
  Excluir um agendamento é irreversível. Isso impede que as consultas futuras do worker selecionem o agendamento. Isso não cancela uma execução de correspondência que um worker já pegou.
</Warning>
