Idempotentne tworzenie zadań
Zapobiegaj podwójnemu drukowi podczas ponawiania żądań po przekroczeniu limitu czasu lub błędzie sieci.
Dlaczego druk wymaga idempotencji
Limit czasu może zostać przekroczony po przyjęciu żądania przez CloudPrint, ale przed otrzymaniem odpowiedzi przez serwer klienta. Utworzenie nowego zadania w tym momencie może wydrukować dokument dwa razy.
Budowa klucza
Użyj stabilnego klucza operacji, np. shipment-18451-label-v1. Musi mieć nie więcej niż 128 znaków i pozostać identyczny dla ponowień z tymi samymi danymi. Celowy ponowny wydruk jest nową operacją i wymaga nowego klucza.
Zasady ponownego użycia
Dla tego samego konta identyczne klucz i dane zwracają pierwotny wynik. Ten sam klucz z innymi danymi zwraca 409 Conflict. Zapisz klucz przed pierwszym żądaniem.
Odzyskiwanie po niepewności
Po błędzie sieci ponów to samo żądanie z tym samym kluczem. Po otrzymaniu print_job_id zapisz go i odczytuj stan zamiast tworzyć nowe zadanie.