flask 中如何调用 grpc
# 这是 flask 中的一个 route
@app.route('/test')
def test():
# 同样的方法,放到了flask中,就会卡在发送数据的那个地方
send_grpc()
# 这段,放到 __main__ 下跑,是没问题的
def send_grpc():
channel = grpc.insecure_channel('server_host')
client = something_pb2_grpc.SomethingStub(channel=channel)
# 在flask中会卡在这个地方
res = client.SayHello(
something_pb2.Hellp(word='')
)
print res
有没有哪位知道这是为什么,是flask和grpc不兼容吗?
请问有没有什么解决方案。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
和
flask
没关系,是我自己的锅。代码中为
gevent
打monkey.patch_all()
导致的。应该是这个
patch
和grpc
不兼容,如果有哪位朋友能帮忙提出个既能
patch
,又可以兼容的方案,那就再好不过了。解释:
https://segmentfault.com/a/11...
解决方案:
https://github.com/grpc/grpc/...
https://github.com/grpc/grpc/...