Выполнение повторных попыток с ruby gRPC

#ruby-on-rails #ruby #grpc

#ruby-on-rails #ruby #grpc

Вопрос:

Я запускаю приложение ruby, которое использует gRPC для взаимодействия с другими службами, и использую gem gruf для взаимодействия с gRPC.

Я столкнулся с проблемой, когда случайные проблемы с ресурсами приводят к сбою вызовов GRPC::Unavailable: 14:Connection reset by peer gRPC. Я пытаюсь реализовать механизм повторных попыток, но не похоже, что в реализации ruby gRPC он доступен. Я рассмотрел создание пользовательского ClientInterpreter для выполнения повторной попытки, но многократное повторение в ClientInterpreter приводит к GRPC::Core::CallError: attempting to re-run a call ошибке. Есть ли рекомендуемый способ выполнения повторных попыток с использованием gRPC в ruby? Нужно ли мне прибегать к написанию кода приложения вне экосистемы gRPC / gruf?