Solução de problemas de automação¶
Use esta página para problemas de agendamento e entrega (cron + heartbeat).
Escada de comandos¶
openclaw status
openclaw gateway status
openclaw logs --follow
openclaw doctor
openclaw channels status --probe
Em seguida, execute as verificações de automação:
openclaw cron status
openclaw cron list
openclaw system heartbeat last
Cron não dispara¶
openclaw cron status
openclaw cron list
openclaw cron runs --id <jobId> --limit 20
openclaw logs --follow
Uma boa saída se parece com:
cron statusreporta habilitado e umnextWakeAtMsfuturo.- O job está habilitado e tem um agendamento/fuso horário válido.
cron runsmostraokou um motivo explícito de pulo.
Assinaturas comuns:
cron: scheduler disabled; jobs will not run automatically→ cron desabilitado na configuração/variáveis de ambiente.cron: timer tick failed→ tick do agendador falhou; inspecione o contexto de pilha/logs ao redor.reason: not-duena saída de execução → execução manual chamada sem--forcee o job ainda não estava devido.
Cron disparou, mas não houve entrega¶
openclaw cron runs --id <jobId> --limit 20
openclaw cron list
openclaw channels status --probe
openclaw logs --follow
Uma boa saída se parece com:
- O status da execução é
ok. - O modo/alvo de entrega estão definidos para jobs isolados.
- A sonda do canal reporta o canal de destino conectado.
Assinaturas comuns:
- A execução teve sucesso, mas o modo de entrega é
none→ nenhuma mensagem externa é esperada. - Alvo de entrega ausente/inválido (
channel/to) → a execução pode ter sucesso internamente, mas pular a saída. - Erros de autenticação do canal (
unauthorized,missing_scope,Forbidden) → entrega bloqueada por credenciais/permissões do canal.
Heartbeat suprimido ou ignorado¶
openclaw system heartbeat last
openclaw logs --follow
openclaw config get agents.defaults.heartbeat
openclaw channels status --probe
Uma boa saída se parece com:
- Heartbeat habilitado com intervalo diferente de zero.
- O último resultado de heartbeat é
ran(ou o motivo do pulo é compreendido).
Assinaturas comuns:
heartbeat skippedcomreason=quiet-hours→ fora deactiveHours.requests-in-flight→ pista principal ocupada; heartbeat adiado.empty-heartbeat-file→HEARTBEAT.mdexiste, mas não tem conteúdo acionável.alerts-disabled→ configurações de visibilidade suprimem mensagens de heartbeat de saída.
Pegadinhas de fuso horário e activeHours¶
openclaw config get agents.defaults.heartbeat.activeHours
openclaw config get agents.defaults.heartbeat.activeHours.timezone
openclaw config get agents.defaults.userTimezone || echo "agents.defaults.userTimezone not set"
openclaw cron list
openclaw logs --follow
Regras rápidas:
Config path not found: agents.defaults.userTimezonesignifica que a chave não está definida; o heartbeat recorre ao fuso horário do host (ouactiveHours.timezonese definido).- Cron sem
--tzusa o fuso horário do host do gateway. - O
activeHoursdo heartbeat usa a resolução de fuso horário configurada (user,localou IANA explícito). - Timestamps ISO sem fuso horário são tratados como UTC para agendamentos de cron
at.
Assinaturas comuns:
- Jobs executam no horário de relógio errado após mudanças no fuso horário do host.
- Heartbeat sempre ignorado durante o seu período diurno porque
activeHours.timezoneestá errado.
Relacionado: