Acordați fiecărui job o identitate
Utilizați un identificator unic și salvați dacă sarcina este în coadă, în execuție, reușită sau în așteptare de revizuire. O cădere nu ar trebui să șteargă cunoașterea faptului că o acțiune externă s-ar putea să fi avut deja loc. Reconciliați rezultatele incerte înainte de a reîncerca.
Acordați un set restrâns de puteri
Separați descoperirea doar-citire de modificările care afectează conturi, bani sau date de producție. Folosiți credențiale de serviciu cu domeniu limitat și limite de resurse. Păstrați aprobarea umană disponibilă pentru acțiunile ale căror consecințe depășesc autoritatea obișnuită a lucrătorului.
Limitați reîncercările
Utilizați un număr maxim de încercări, backoff și o cale de dead-letter sau de revizuire. Respectați limitele de rată ale furnizorului. O eroare temporară nu trebuie să devină mii de cereri repetate sau mesaje duplicate.
Faceți înregistrarea sigură și utilă
Înregistrați identificatorul operațiunii, rezultatul și momentele relevante. Anonimizați credențialele și datele personale inutile. Păstrați o modalitate de a suspenda coada, de a revoca un token și de a vă recupera dintr-o acțiune parțială fără a pierde întregul flux de lucru.