Sprawdź się: Harmonogramy i cron: zadania cykliczne bez zalewu wiadomości
4 pytania do lekcji Harmonogramy i cron: zadania cykliczne bez zalewu wiadomości. Są scenariuszowe, nie definicyjne — sprawdzają, czy rozpoznasz sytuację, a nie czy pamiętasz nazwę. Po każdej odpowiedzi zobaczysz wyjaśnienie, także wtedy, gdy trafisz.
Pytania quizu
Zakładasz zadanie wyrażeniem cron „0 9 * * 1” bez flagi --tz. O której faktycznie się odpali?
- O 9:00 czasu UTC
- O 9:00 w strefie czasowej hosta, na którym działa Gateway
- O 9:00 w strefie ustawionej w profilu użytkownika
- O 9:00 w strefie kanału, na który idzie wynik
Wyrażenia cron bez --tz korzystają ze strefy hosta Gateway. Odpowiedź o UTC jest kusząca, bo to prawda — ale dla znaczników czasu podanych bez strefy przy fladze --at. Te dwie reguły łatwo pomylić i to najczęstsze źródło raportu przychodzącego o złej godzinie.
Chcesz zadanie odpalane codziennie o 7:00 czasu polskiego, niezależnie od strefy serwera. Który zapis zadziała?
- --every 24h --tz Europe/Warsaw
- --cron "0 7 * * *" --tz Europe/Warsaw
- --every 1d z ustawioną zmienną środowiskową strefy
- --at "07:00" --every 1d
Flaga --tz jest poprawna wyłącznie z --at oraz --cron, więc jedynym działającym zapisem jest wyrażenie cron ze strefą. Pierwsza odpowiedź wygląda naturalnie i dlatego wpada w nią wiele osób — stały odstęp liczy po prostu dobę od poprzedniego przebiegu i przy zmianie czasu rozjedzie się z zegarem.
Zadanie ma codziennie o 7:00 przygotować raport i zostawić ślad, który później da się skontrolować. Co wybierasz?
- Heartbeat z activeHours ustawionym na okno wokół 7:00
- Zadanie cron z --cron i --session isolated
- Standing order wstrzykiwany do każdej sesji
- Skill z komendą ukośnikową odpalany ręcznie
Cron daje dokładny termin i przy każdym wykonaniu zakłada rekord w rejestrze zadań w tle, widoczny przez openclaw tasks list. Heartbeat też jest cykliczny i dlatego wygląda na zamiennik, tylko nie tworzy rekordów zadań i nie trafia w konkretną godzinę — chodzi w stałym rytmie od ostatniego przebiegu.
Zadanie z --every 5m ma ustawione --announce. Ile wiadomości dostaniesz przez dobę, zakładając, że każdy przebieg się powiedzie?
- 48
- 144
- 288
- 1440
Doba ma 288 pięciominutowych okien, a --announce dostarcza wynik po każdym przebiegu. Odpowiedź 1440 to liczba minut w dobie, czyli wynik dzielenia, którego nikt nie wykonał, a 48 to liczba przebiegów heartbeatu przy domyślnym odstępie 30 minut — łatwo pomylić jedno z drugim.
Zakładasz zadanie wyrażeniem cron „0 9 * * 1” bez flagi --tz. O której faktycznie się odpali?
Wiedza bez wdrożenia się nie zwraca
Uruchom agenta i zastosuj to, czego się właśnie nauczyłeś. Chmura EU, polska faktura VAT, 5 dni za darmo na pakiecie Premium.
Zobacz plany