Zadania Cron w OpenClaw
Cron to wbudowany scheduler Gateway, ktory pozwala agentowi wykonywac zaplanowane zadania o precyzyjnie okreslonych porach. Konfiguracje zadan sa trwale przechowywane w pliku ~/.openclaw/cron/jobs.json, dzieki czemu przetrwaja restarty systemu.
Gdzie dziala scheduler?
Scheduler operuje wewnatrz procesu Gateway — nie wewnatrz modelu. Oznacza to, ze zadania sa uruchamiane niezaleznie od aktywnej sesji czatu. Gateway budzi agenta w odpowiednim momencie i moze dostarczyc wynik z powrotem na kanal czatu lub do endpointu webhook.
Trzy metody planowania
OpenClaw obsluguje trzy podejscia do planowania czasu wykonania:
- Jednorazowe znaczniki czasu — format ISO 8601 lub relatywny (np.
20m— za 20 minut). Uzyteczne do przypomnien i jednorazowych zadan. - Stale interwaly — flaga
everypozwala definiowac cykliczne wykonanie (np. co 2 godziny). - Wyrazenia cron — tradycyjne 5- lub 6-polowe wyrazenia cron z opcjonalna specyfikacja strefy czasowej, idealne dla zaawansowanych harmonogramow.
Tryby sesji
Cron obsluguje cztery rozne typy sesji, determinujace kontekst wykonania zadania:
- Sesja glowna (main) — kolejkuje zdarzenia systemowe do nastepnego obrotu heartbeat. Idealne dla przypomnien i drobnych aktualizacji.
- Izolowana (isolated) — tworzy dedykowana sesje
cron:<jobId>z czystym kontekstem. Najlepsze do raportow w tle, aby nie zasmiecac glownej konwersacji. - Biezaca sesja (current) — przywiazuje zadanie do aktywnej sesji w momencie tworzenia joba.
- Niestandardowa (custom) — utrzymuje kontekst miedzy wieloma uruchomieniami, przydatne dla przeplywow wymagajacych ciaglosci historycznej.
Zarzadzanie zadaniami cron
Podstawowe komendy CLI do zarzadzania:
# Dodaj nowe zadanie
openclaw cron add "Wyslij raport dzienny" --every 24h --delivery announce
# Lista aktywnych zadan
openclaw cron list
# Historia wykonan
openclaw cron runs
# Edytuj istniejace zadanie
openclaw cron edit <jobId> --every 12h
Dostarczanie wynikow
Po zakonczeniu zadania cron, wyniki moga byc dostarczane na trzy sposoby:
- announce — podsumowanie wyslane na kanal czatu. Agent przedstawia skrocona wersje wynikow.
- webhook — wynik jest wysylany jako zadanie POST na zewnetrzny URL. Idealne do integracji z innymi systemami.
- none — wynik pozostaje wewnetrzny, bez powiadomien. Przydatne dla zadan audytowych i logowania.
Konfiguracja zaawansowana
Scheduler cron mozna dostosowac za pomoca obiektu konfiguracyjnego:
cron.enabled— wlacz lub wylacz caly scheduler.- Limit wspolbieznosci — maksymalna liczba jednoczesnie wykonywanych zadan.
- Polityka powtorzen — bledne zadania przejsciowe sa domyslnie ponawiane 3 razy z wykladniczym opoznieniem (exponential backoff).
- Okno retencji sesji — jak dlugo przechowywac dane sesji izolowanych.
- Rozmiar plikow logow — limit wielkosci logow na zadanie.
Bezpieczenstwo
Podczas konfiguracji zadan cron nalezy pamietac o kilku zasadach bezpieczenstwa:
- Endpointy webhook powinny znajdowac sie za loopback lub zaufanym proxy.
- Uzywaj dedykowanych tokenow hook, oddzielonych od glownych danych uwierzytelniajacych.
- Ogranicz, do ktorych agentow mozna kierowac zadania, za pomoca parametru
allowedAgentIds.