Вероятно, под «патентностью» имеется в виду идемпотентность: повтор задания не должен повторять бизнес-эффект. Нужны устойчивое хранение, статус, lease, retries и уникальный ключ операции.
Вы хорошо раскрыли проверку контракта и версионирование. А как бы вы организовали хранение и повтор фоновых задач, чтобы обеспечить надежность и патентность?
Вероятно, под «патентностью» имеется в виду идемпотентность: повтор задания не должен повторять бизнес-эффект. Нужны устойчивое хранение, статус, lease, retries и уникальный ключ операции.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Вероятно, под «патентностью» имеется в виду идемпотентность: повтор задания не должен повторять бизнес-эффект. Нужны устойчивое хранение, статус, lease, retries и уникальный ключ операции.
Сохраняйте payload с версией, attempts, next_attempt_at и результат. Worker атомарно захватывает задание, продлевает lease для долгой работы и подтверждает после устойчивого эффекта. Повторы — с backoff и jitter, исчерпанные попытки — в отдельный разбор. Idempotency key и ограничения БД защищают от повторного исполнения после падения; нельзя обещать exactly-once одним ack брокера.