Я работаю над клиентом gRPC в Python, который должен получать уведомления от сервера, написанного на c ++. Проблема, с которой я сталкиваюсь, заключается в том, что когда я вызываю поток rpc, он мгновенно закрывается, что приводит к тому, что я подписываюсь и отписываюсь в потоке уведомлений и пропускаю уведомления, когда я отписываюсь. Есть ли способ предотвратить закрытие rpc в python?
RPC имеет формат уведомлений (stream messagesRequest), возвращает (stream messagesReply)
Код, который непрерывно подписывается и отписывается, выглядит следующим образом
request = server_pb2.NotificationRequest()
requests = [request]
while True:
responses = stub.notification(iter(requests))
for response in responses:
print(response.node.id, int(response.id))
При выполнении rpc только один раз, когда журнал сервера показывает закрытие rpc сразу после его выполнения.
responses = stub.notification(iter(requests))
Какие изменения должны быть внесены в запрос на неограниченный срок хранения rpc?