Ogólne

OpenClaw retry-safe: jak projektować crony AI odporne na ponowienia

Jeśli cron OpenClaw może uruchomić się ponownie, zaprojektuj go tak, aby drugie wykonanie nie dublowało wiadomości ani zmian. Wzorzec retry-safe oznacza stabilny identyfikator, sprawdzenie stanu przed zapisem i potwierdzenie efektu.

Podziel cron na trzy fazy

1. Pobierz dane

Wybierz tylko elementy jeszcze nieobsłużone i zachowaj ich identyfikator źródłowy. Nie opieraj deduplikacji wyłącznie na czasie uruchomienia.

2. Przygotuj decyzję

Dla każdej operacji utwórz deterministyczny klucz, np. newsletter:2026-09-20:abc123. Ten sam element musi dostać ten sam klucz po każdym retry.

3. Wykonaj i potwierdź

Przed skutkiem ubocznym sprawdź, czy klucz ma już status done. Po sukcesie zapisz rezultat. Przy timeout oznacz operację jako unknown i najpierw sprawdź system docelowy.

Minimalny kontrakt stanu

  • planned — działanie przygotowane;
  • running — działanie wykonywane;
  • done — efekt potwierdzony;
  • failed — można ponowić po analizie;
  • unknown — efekt wymaga weryfikacji.

Checklista wdrożenia

  • Czy każde działanie ma stabilny klucz idempotencji?
  • Czy retry odczytuje stan przed wysłaniem lub zapisem?
  • Czy po timeout można sprawdzić efekt po stronie odbiorcy?
  • Czy log zawiera run ID, klucz działania i wynik?
  • Czy cron ma limit prób oraz ścieżkę ręcznej kontroli?

Ograniczenia

Retry-safe nie naprawi usługi, która nie pozwala sprawdzać efektu. Przy e-mailach, płatnościach i publikacji użyj kolejki lub własnej tabeli operacji. Dla zadań tylko odczytowych prostszy checkpoint może wystarczyć.

FAQ

Czy wystarczy ostatni czas uruchomienia?

Nie. Dwa elementy mogą mieć ten sam czas, a proces może zakończyć się częściowo. Użyj klucza per element i jawnego statusu.

Co zrobić po przerwaniu w połowie?

Wznów od odczytu stanu, zweryfikuj działania niepewne i dopiero potem ponów te bez potwierdzonego efektu.

Czy agent AI powinien wymyślać klucze?

Nie. Agent może przygotować plan, ale format klucza powinien wynikać z deterministycznej reguły workflowu.

Zacznij od jednego crona OpenClaw: dodaj klucz idempotencji, status i test ponowienia.

Powiązane artykuły

← Wrocz do bloga