Agendamentos
Um agendamento liga uma expressão cron a uma das suas operações. A cada horário correspondente o Fóir executa essa operação e adiciona a execução ao histórico do agendamento.
Cron e fuso horário
A expressão é um cron padrão de cinco campos: minuto, hora, dia do mês, mês e dia da semana. Não há campo de segundos, e o Fóir verifica agendamentos vencidos a cada 60 segundos. Um agendamento pode nomear um fuso horário IANA e roda em UTC sem ele.
Config, console e CLI
defineSchedule na sua config recebe uma chave, um nome, a chave da operação, a expressão cron, um fuso horário e uma flag de ativação, então os agendamentos ficam em config como código junto com o resto do projeto. O console lista o cron de cada agendamento, o status da última execução e a próxima execução, com o histórico de execuções. foir schedules faz o mesmo trabalho a partir de um terminal, incluindo pausar, retomar e disparar um agendamento imediatamente.
Quando uma mudança entra em vigor
Pausar e retomar valem assim que são enviados por push. Um agendamento novo, ou uma mudança no cron, no fuso horário ou na operação de um agendamento, espera a próxima release antes de rodar.
O que a operação recebe
A operação recebe o payload padrão com um tipo de gatilho schedule e nenhum registro. Um agendamento pode ocasionalmente disparar duas vezes, então escreva as operações agendadas para serem idempotentes. Uma operação com template, do tipo que o Fóir chama por conta própria a partir de um template de requisição, não pode ser agendada.
Leia os detalhes
O guia de agendamentos cobre como criar, pausar e disparar um agendamento e como ler seu histórico.