Одинаковое событие не выполняется дважды; измененное вложение с прежним ID дает конфликт, а новая версия — отдельную операцию.
О проекте
Задача
Повтор события E14 и исправленное письмо выглядят похоже, но требуют разных решений. Слияние по теме теряет редакцию, обработка каждого доставки создает дубликаты.
Решение
Я связал ключ события с неизменяемой парой message ID и версии вложения. Повтор возвращает сохраненный исход. При другом payload под прежним ключом обработка останавливается; E15 получает собственную запись.
Результат
E14/v1 выполнен один раз, одинаковый повтор вернул сохраненный исход. E14/v2 остановлен как конфликт содержимого, E15/v2 выполнен отдельно. Фокус проверки — ключ события и версия вложения; транспортная потеря ответа не моделируется.
Что передано заказчику
- index.html
- source.json
- source.csv
- result.json
- result.csv
- engine.js
- checks.json
- style.css
Инструменты и подход
Навыки
Содержание 3
Готовая работа
E14 с v2 не является повтором v1
Первое E14 для M7/v1 выполняется, второе возвращает сохранённый результат. Следующая строка использует тот же E14, но v2, и получает конфликт. Я сохранил три исхода рядом: именно изменение данных под знакомым ключом показывает, почему одного списка обработанных ID недостаточно.
Разбор и материалы
Вклад и команда
Я реализовал проверку ключа события, версии и содержимого и сохранил различие повтора и конфликта.
Ссылки и материалы
- index.html
- source.json
- source.csv
- result.json
- result.csv
- engine.js
- verify.cjs
- checks.json
- style.css
- Почтовые события: ключ операции и конфликт повторного payload — исходная таблица.csv
4 ситуаций для сравнения.
- Почтовые события: ключ операции и конфликт повторного payload — проверка.txt
Критерии проверки этого решения.
- Почтовые события: ключ операции и конфликт повторного payload — паспорт.json
Контекст, ограничения, решение и данные.
- Почтовые события: ключ операции и конфликт повторного payload — инструкция.html
Как открыть и проверить рабочий разбор.
Загружаем комментарии…