Версия источника: 4880e8b4372c96001c2e052be28b68a95d31252b
Синхронизировано: 2026-11-09T11:15:07.649Z
Источник: https://github.com/sergey-from-riders/vibecoding-base/tree/4880e8b4372c96001c2e052be28b68a95d31252b

<a id="caching-idempotent-worker"></a>

# Идемпотентность worker

## Коротко

Повтор сообщения не должен повторять необратимый эффект.

## Плохо

```text
Одно сообщение пришло дважды → отправлены два заказа.
```

## Хорошо

```text
message_id проверяется транзакционно.
Повтор возвращает уже сохранённый результат.
```

## Почему

Успешная обработка и подтверждение доставки могут разделиться сетевым сбоем.

## Когда применять

Не обещайте exactly-once без доказанной модели всей цепочки, включая внешние эффекты.

## Как проверить

- Завершите процесс после эффекта, но до подтверждения сообщения.

## Человек

Определяет уникальность задания и допустимые последствия повторов.

## Агент

Реализует восстановление и обработку повторов, проверяет сбой зависимости и возвращение в рабочее состояние.

Контроль результата:

- Завершите процесс после эффекта, но до подтверждения сообщения.

## Источники

- [Amazon SQS at-least-once delivery - Amazon Simple Queue Service](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/standard-queues-at-least-once-delivery.html)

Уровень: Обязательно. Проверено: 2026-11-09. Изменено: 2026-11-09.

[Исходный файл](https://github.com/sergey-from-riders/vibecoding-base/blob/4880e8b4372c96001c2e052be28b68a95d31252b/registry/standards/backend/worker/rules/idempotent-worker.md)
