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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions