Python gRPC从客户端取消一元流调用
使用Python gRPC,我希望能够在设置Python gRPC从客户端取消一元流调用,python,grpc,grpc-python,Python,Grpc,Grpc Python,使用Python gRPC,我希望能够在设置threading.Event时取消客户端的长时间运行的一元流调用 def application(stub: StreamsStub, event: threading.Event): stream = stub.Application(ApplicationStreamRequest()) try: for resp in stream: print(resp) except 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()
方法取消流,但这当然会关闭所有连接,而不仅仅是此流
有人能建议我如何使用该事件取消流迭代器吗?感谢rpc调用返回的
\u Rendezvous
对象实现了grpc.RpcError
、grpc.Future
和grpc.call
,因此取消流就像调用stream.cancel
(从grpc.Future
接口)一样简单