Используя Python gRPC, я хотел бы иметь возможность отменить длительный вызов унарного потока со стороны клиента, когда установлен threading.Event
.
def application(stub: StreamsStub, event: threading.Event):
stream = stub.Application(ApplicationStreamRequest())
try:
for resp in stream:
print(resp)
except grpc.RpcError as e:
print(e)
В настоящее время я отменяю поток, используя метод channel.close()
, но, конечно, это закрывает все соединения, а не только этот поток.
Может кто-нибудь предложить, как я могу использовать событие, чтобы отменить потоковый итератор? Спасибо