Skip to content

Не очень ясно, как обработать ретраи уведомлений #604

@aurokk

Description

@aurokk

Привет!

Допустим, делаем интеграцию с PP, push модель обмена данными. И есть нюанс, что PP шлёт чрезмерно много уведомлений, которые друг от друга не отличаются. К слову, такая же ситуация как при обычных ретраях тех же уведомлений. Как правильно обработать дубли уведомлений? Наверняка есть какие-то инструенты уже готовые в платформе, просто не получается найти %). Такая же проблема будет, если дважды прилетит, например, результат 3дс в адаптер, что кажется, должно быть распространено.

Чуток подробностей — у меня есть платёж, который засаспенжен и ждёт колбека, приходит сразу три колбека, один обрабатывается адаптером нормально, а обработка дублей падает с разными ошибками, например InvalidRequest {errors=['Invalid callback']}, и управление даже не доходит до адаптера. В целом, это не аффектит прохождение транзакций, но хотелось бы обработать эту ситуацию как-то, чтоб не было фона ошибок-экспшенов в логах.

Кажется, что в цепочке обработки запросов
(внешний мир) -> adapter -> hellgate -> machinegun -> hellgate -> adapter -> (внешний мир)

Не хватает, какого-то сервиса для дедупликации уведомлений, чтобы правильно обработать уведомления
-> adapter -> дедупликатор -> hellgate ->

Заслал ишью сюда, потому что, как-будто, всё начинается с хелгейта и проблема в его логике работы.


image:
  repository: docker.io/rbkmoney/hellgate
  tag: efe0b67a7a048bfa17cac871ff2e7b797ea13796

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions