Rozwiązywanie problemów z automatyzacją¶
Użyj tej strony do problemów z harmonogramem i dostarczaniem (cron + heartbeat).
Drabina poleceń¶
openclaw status
openclaw gateway status
openclaw logs --follow
openclaw doctor
openclaw channels status --probe
Następnie uruchom kontrole automatyzacji:
openclaw cron status
openclaw cron list
openclaw system heartbeat last
Cron nie uruchamia się¶
openclaw cron status
openclaw cron list
openclaw cron runs --id <jobId> --limit 20
openclaw logs --follow
Poprawne wyjście wygląda następująco:
cron statusraportuje włączone oraz przyszłenextWakeAtMs.- Zadanie jest włączone i ma prawidłowy harmonogram/strefę czasową.
cron runspokazujeoklub jawną przyczynę pominięcia.
Typowe sygnatury:
cron: scheduler disabled; jobs will not run automatically→ cron wyłączony w konfiguracji/zmiennych środowiskowych.cron: timer tick failed→ tick harmonogramu uległ awarii; sprawdź otaczający kontekst stosu/logów.reason: not-duew wyjściu uruchomienia → ręczne uruchomienie wywołane bez--force, a zadanie nie jest jeszcze należne.
Cron uruchomił się, ale brak dostarczenia¶
openclaw cron runs --id <jobId> --limit 20
openclaw cron list
openclaw channels status --probe
openclaw logs --follow
Poprawne wyjście wygląda następująco:
- Status uruchomienia to
ok. - Tryb/cele dostarczania są ustawione dla zadań izolowanych.
- Sonda kanału raportuje, że docelowy kanał jest połączony.
Typowe sygnatury:
- Uruchomienie zakończyło się powodzeniem, ale tryb dostarczania to
none→ nie oczekuje się żadnej wiadomości zewnętrznej. - Brakujący/nieprawidłowy cel dostarczania (
channel/to) → uruchomienie może zakończyć się sukcesem wewnętrznie, ale pominąć wysyłkę. - Błędy uwierzytelniania kanału (
unauthorized,missing_scope,Forbidden) → dostarczanie zablokowane przez poświadczenia/uprawnienia kanału.
Heartbeat stłumiony lub pominięty¶
openclaw system heartbeat last
openclaw logs --follow
openclaw config get agents.defaults.heartbeat
openclaw channels status --probe
Poprawne wyjście wygląda następująco:
- Heartbeat włączony z niezerowym interwałem.
- Ostatni wynik heartbeat to
ran(lub znana jest przyczyna pominięcia).
Typowe sygnatury:
heartbeat skippedzreason=quiet-hours→ pozaactiveHours.requests-in-flight→ główny tor zajęty; heartbeat odroczony.empty-heartbeat-file→HEARTBEAT.mdistnieje, ale nie ma treści możliwej do wykonania.alerts-disabled→ ustawienia widoczności tłumią wychodzące wiadomości heartbeat.
Pułapki strefy czasowej i 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
Szybkie zasady:
Config path not found: agents.defaults.userTimezoneoznacza, że klucz nie jest ustawiony; heartbeat wraca do strefy czasowej hosta (lubactiveHours.timezone, jeśli ustawione).- Cron bez
--tzużywa strefy czasowej hosta gateway. - Heartbeat
activeHoursużywa skonfigurowanego rozwiązywania strefy czasowej (user,locallub jawna strefa IANA). - Znaczniki czasu ISO bez strefy czasowej są traktowane jako UTC dla harmonogramów cron
at.
Typowe sygnatury:
- Zadania uruchamiają się o niewłaściwej godzinie zegarowej po zmianach strefy czasowej hosta.
- Heartbeat jest zawsze pomijany w ciągu dnia, ponieważ
activeHours.timezonejest nieprawidłowe.
Powiązane: