Zadania harmonogramowe i podstawowe
(Sekcja: Operacje i zarządzanie)
1) Cel
Zadania harmonogramu i tła zapewniają działanie platformy niebędącej użytkownikiem: okresowe obliczenia, publikacje artefaktów, rozliczanie i powtórzenia kolejek. Celami są determinizm, tolerancja błędów i zdolność audytu.
2) Taksonomia zadań
Czas: zaplanowany (cron/calendar): usuwanie, zamykanie okien RTP, przesyłanie, archiwizacja.
Zdarzenie napędzane: wyzwalacze z autobusu ( Settled, ListListUpdated).
Jednorazowe/ad-hoc: jednorazowe jabs z TTL.
Długotrwałe: Backoff/sagi, kompakty strumieniowe.
Konserwacja: kluczowe obroty, przepakowanie, indeksy, nagrzewanie pamięci podręcznej.
3) Architektura (odniesienie)
Komponenty:1. Harmonogram (sterownik): harmonogram sklepów, CAL/cron, okna konserwacyjne, strefy czasowe, ograniczniki.
2. Dyspozytor: plan → kolejka (per-priority/najemca/region), stawia terminy, idempotent keys.
3. Pracownicy: statyczna/autoskalowa dla puli zadań; bicia serca, dzierżawy.
4. Kolejka/autobus: FIFO/priorytet, DLQ, odroczone wiadomości.
5. Szafka/Koordynacja: blokady rozproszone (dzierżawy), lider-wybory (tratwa/ZK/Konsul).
6. Skarbiec/KMS: tajemnice JIT, krótki TTL.
7. Obserwowalność: ślady/mierniki/dzienniki, deski rozdzielcze, wpisy.
8. Audyt/WORM: niezmienne wpływy z wykonania, plasterki Merkle.
Wzory: outbox/CDC, idempotency, kompensacja (sagi), backpressure, wyłączniki.
4) Harmonogram: kron i kalendarze
Cron v3: drugi/minuta/godzina/dzień/miesiąc/dzień-tydzień; wsparcie dla „/5 „, zakresy, listy.
Kalendarze/wyjątki: kalendarz biznesowy, okna ciszy, wakacje/DST.
Timezones: utrzymać „tz” na zadaniu; Lokalny początek czasu najemcy.
Wielobranżowe: Kopie harmonogramów dla poszczególnych regionów lub „region ołowiu + zwolennicy” z drenażem/ponownym wyborem.
5) Kolejki, priorytety, SLA
Klasy priorytetowe: P0 (krytyczne), P1, P2, P3; indywidualne puli pracowników.
SLA/terminy: „must _ start _ by”, „must _ finish _ by”; skip - eskalacja/retray.
Kwoty i uczciwość: czapki do zadań/min/najemca, żetony do „wybuchów”, izolacja hałaśliwych sąsiadów.
Opóźnienie/wyeksponowanie czasu.
6) Konkurencyjność i blokady
Dzierżawy: wynajem pracy z automatycznym przedłużeniem (bicie serca); przez czas - odwołanie.
Mutex/semafory: per-resource (na przykład „cennik x zapisuje tylko jednego pracownika”).
Shading: przez „najemca/region/hash (klucz)”; sticky-routing dla pamięci podręcznej i lokalizacji danych.
Lider-wybór: jeden lider publikuje „system” zadania (na przykład, „zamknij wszystkie okna RTP”), zwolennicy - gorące czuwanie.
7) Niezawodność: Retrai, idempotence, deadup
Klucz idempotentny: '(task_type, business_id, okno)'; powtarza → ten sam pokwitowanie.
Retrai: wykładnicze cofnięcie + jitter, limit prób, strategia błędu (retry/cancel/compensate).
Trucizna: szybki transfer do DLQ po awarii N, alert do właściciela.
Dedup: saw-cache (in-memory + KV) na oknach TTL.
Dokładnie raz efekty: potwierdzenie skutków ubocznych za pośrednictwem dziennika transakcji/paragonów.
8) Zarządzanie długimi i ciężkimi zadaniami
Rozdrobnienie: podział na partie, punkty kontrolne/kontynuacja.
Boks czasowy: ograniczenie CPU/IO/sieci; przerwać z postępu zapisane.
Sagi/rekompensaty: „cofnąć” semantykę dla etapów międzyresortowych.
Czapki równoległe: granice zadań równoczesnych dla każdego typu/najemcy/regionu.
9) Obserwowalność i wskaźniki
Ślady: 'trace _ id', kroki sagi, połączenia zewnętrzne.
Mierniki (SLI):- Lag do startu, kolejka (długość, wiek p95).
- Wskaźnik sukcesu, wskaźnik błędów, powtarzalność.
- Opóźnienie p50/p95, czas do końca.
- Koszt za 1k zadań, egress/ingress.
- Wskaźnik DLQ, szybkość tabletek trujących.
- P0 start ≤ 60 s, P1 ≤ 5 min; Sukces ≥ 99. 5%; DLQ ≤ 0. 1%; Świeżość ≤ 30 s p95.
10) Audyt i wiarygodność
Paragony: 'receipt _ hash' dla startu/sukcesu/błędu, podpisy DSSE dla typów krytycznych (płatności, cenniki, RTP).
WORM: przechowywanie dzienników wykonania i manifestów zadań.
łańcuch opieki: kto dostarczył/zatwierdził/zmienił harmonogram; Kontrola SoD.
11) Bezpieczeństwo i dostęp
RBAC/ABAC/ReBAC: kto tworzy/zatwierdza/startuje; SoD: „utwórz płatność” „zatwierdzaj”.
Tajemnice JIT: pracownik żąda żetonów z krótkim TTL nad zakresem problemu.
Izolacja: pula pracowników na najemcę/region/siatkę; piaskownica-wykonanie.
Higiena PII: maskowanie/tokenizacja, zakaz pozyskiwania drewna pierwotnego.
12) FinOps i koszty
Budżety/WPR dotyczące obliczeń/magazynowania/usuwania.
Pracownicy autoskali kolejkami i SLO.
Zajęcia z przechowywania: gorący (7-30 dni) → OLAP (6-24 miesiące) → archiwum.
Planowanie świadome kosztów: uruchomienie okna w „tanich godzinach”, ograniczenia wyjścia.
13) Model danych (uproszczony)
14) Umowy API (zarządzanie/integracja)
'POST/schedules' - tworzenie harmonogramu (cron/cal, tz, windows).
„POST/miejsca pracy” - ad hoc; zwrot 'job _ id',' receipt _ hash '.
„GET/jobs/{ id}” - status/log/receipts.
„POST/jobs/{ id }/anulować” - anulować z odszkodowaniem.
„GET/kolejki/statystyki” - długości, lagi, p95.
Верка: „JobStarted”, „JobSucceeded”, „JobFailed”, „JobDrop, ToDLQ”, „SLOVioled”.
15) Playbooks (typowe scenariusze)
Retry-storm: włączyć globalne cofnięcie, podnieść czas zależności, włączyć wyłącznik, podzielone partie.
Lawina DLQ: zatrzymać odbiór, nadać priorytet parsowaniu DLQ, buforować nowe zadania.
Lider spadł: reelekcja, weryfikacja „podwójnych publikacji” przez idempotencję, audyt.
Dostawca Hung (PSP/KYC): trasa do rezerwy, zmniejszenie częstotliwości wyborów/haków internetowych, przeniesienie transakcji do kwarantanny.
Wyciekłe tajemnice pracownika: odwołanie klucza, rotacja, wyszukiwanie „anormalnych” startów w ciągu 30 dni, przegląd praw.
16) Specyfika iGaming/fintech
Płatności/wypłaty: asynchroniczne zadania z paragonami, kwarantanna transakcji „szarych”, powtórki kolejek z deduplikacją.
Okna/limity RTP: zamknięcie kalendarza, obserwowane vs teoretyczne RTP, auto-pauza promo podczas dryfowania.
Cenniki/FX/Podatek: zaplanowane publikacje, artefakt wersje, cache siła niepełnosprawność.
Podmioty powiązane: pojednanie konwersji, dedup webhooks, akty/podpisy, spory powiernicze.
17) Wskaźniki jakości (zestaw próbek)
Przestrzeganie harmonogramu: udział zadań rozpoczętych w oknie ≥ 99%.
Kolejka Lag p95: P0 ≤ 60 c, P1 ≤ 5 min.
Wskaźnik sukcesu/Retry/DLQ: ≥ 99. 5% / ≤ 0. 4% / ≤ 0. 1%.
Błędy idempotencji: ≤ 0. 01%.
Cost/1k miejsca pracy i Egress/praca - w ramach budżetu.
Kompletność audytu: 100% zadań krytycznych z paragonami.
18) RACI
19) Lista kontrolna wdrażania
- Podkreślanie klas zadań, priorytetów i SLA; Zdefiniuj kalendarze i strefy czasowe.
- Wdrożyć Harmonogram/Dyspozytor/Kolejka/Pracownicy z Lidera Wybory i Sharding.
- Wprowadź idempotencję, przekłady, DLQ, rekompensaty (sagi).
- Skonfiguruj sekrety RBAC/ABAC/ReBAC, SoD i JIT dla pracowników.
- Włączyć ślady/mierniki/dzienniki, deski rozdzielcze i wpisy; SLO - błąd w budżecie.
- Podpisane rachunki (DSSE) i dzienniki WORM dla typów krytycznych.
- Autoskale i czapki-alerty (obliczanie/przechowywanie/wyjmowanie).
- Playbooks: retry-storm, lawina DLQ, awaria lidera, degradacja dostawcy.
- Testy: GameDay na playbook, opóźnienie/zastrzyki błędu.
- Regularne przeglądy harmonogramów, blokad kolejki i ROI automatyzacji.
20) FAQ
Dlaczego Cron nie wystarczy?
Bez kolejek, idempotencji, zamków i audytu, cron rozbija się o awarie i strefy czasowe.
Czy można połączyć czas i imprezy?
Tak: cron - ubezpieczenie na nadrobienie zaległości; zdarzenia - dla reaktywności.
Jak osiągnąć „dokładnie raz”?
Key dedup, dziennik skutków transakcyjnych, wpływy i idempotentne skutki uboczne.
Co zrobić z „długimi” pracami?
Kawałek, punkty kontrolne, boks czasowy, zdolność do przerywania i kontynuowania.
Jak nie „jeść” budżetu?
Autoskale w kolejkach i SLO, tanie zegarki do ciężkich miejsc pracy, twarde czapki wyjmują/obliczają.
Podsumowanie: Harmonogram i zadania tła są rurociągiem produkcyjnym platformy. Poprzez wbudowanie harmonogramów i kolejek, idempotencji, zamków i obserwowalności, dodawanie paragonów/audytów, izolacji lokatorów i kontroli FinOps, otrzymujesz przewidywalne terminy, szybkie odzyskiwanie i legalnie spójne operacje w dowolnym regionie i obciążeniu.