FwScheduler
Scheduler estilo cron pra TLPP. Roda funcao em intervalos definidos (todo dia 8h, a cada hora, etc).
Assinatura: oSched := FwScheduler():New() / :schedule(cron, func) / :start()
Retorna: FwScheduler
FwScheduler e o "cron" do TLPP — agendamento declarativo de tarefas recorrentes. Substitui StartJob + Sleep manual.
Sintaxe
oSched := FwScheduler():New()
// Toda dia as 8h
oSched:schedule("0 8 * * *", {|| U_BackupDiario()})
// A cada 15 min
oSched:schedule("*/15 * * * *", {|| U_Sync()})
// Toda segunda 9h
oSched:schedule("0 9 * * MON", {|| U_RelSemanal()})
oSched:start() // ativa
// ...
oSched:stop() // pausa
Sintaxe cron
┌─── minuto (0-59)
│ ┌─── hora (0-23)
│ │ ┌─── dia mes (1-31)
│ │ │ ┌─── mes (1-12)
│ │ │ │ ┌─── dia semana (0-6, 0=Domingo)
* * * * *
Pegadinhas
- Persistencia: se AppServer reinicia, schedule reinicia do zero — Schedule TOTVS oficial e mais robusto pra agendamentos importantes.
- Multi-no: scheduler por AppServer — pra rodar 1x, use lock distribuido.