Надайте кожному завданню ідентичність
Використовуйте унікальний ідентифікатор і зберігайте, чи завдання в черзі, виконується, успішно завершене або очікує перевірки. Збій не повинен стирати знання про те, що зовнішня дія могла вже відбутися. Звіряйте невизначені результати перед повторною спробою.
Надайте невеликий набір повноважень
Відокремте доступ лише для читання від змін, що впливають на облікові записи, кошти або робочі дані. Використовуйте облікові дані сервісу з обмеженими правами та ліміти ресурсів. Зберігайте можливість схвалення людиною для дій, наслідки яких перевищують звичайні повноваження воркера.
Обмежте повторні спроби
Використовуйте максимальну кількість спроб, експоненційну затримку та шлях до черги недоставлених повідомлень або перевірки. Дотримуйтеся лімітів частоти запитів постачальника. Тимчасова помилка не повинна перетворюватися на тисячі повторних запитів чи дубльованих повідомлень.
Зробіть запис безпечним і корисним
Записуйте ідентифікатор операції, результат і відповідні часові позначки. Приховуйте облікові дані та зайві персональні дані. Зберігайте можливість призупинити чергу, відкликати токен і відновитися після часткової дії, не втрачаючи весь робочий процес.