加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

如何将gRPC服务器/客户端部署到heroku?

发布时间:2020-12-16 22:28:40 所属栏目:Python 来源:网络整理
导读:我将我的python gRPC服务器部署到Heroku,并想知道如何使用本地Python客户端测试它. server.py def serve(): server = grpc.server(futures.ThreadPoolExecutor(max_workers=10)) icp_pb2_grpc.add_MyServicer_to_server(MyServicer(),server) server_port =

我将我的python gRPC服务器部署到Heroku,并想知道如何使用本地Python客户端测试它.

server.py

def serve():
    server = grpc.server(futures.ThreadPoolExecutor(max_workers=10))
    icp_pb2_grpc.add_MyServicer_to_server(MyServicer(),server)

    server_port = os.environ.get('PORT',50051) 
    server.add_insecure_port('[::]:'+ str(server_port))
    server.start()
    print("==== SERVER RUNNING =====")
    try:
        while True:
            time.sleep(_ONE_DAY_IN_SECONDS)
    except KeyboardInterrupt:
        server.stop(0)

if __name__ == '__main__':
    serve()

client.py

def run():
    # Is the channel url correct?
    channel = grpc.insecure_channel('https://www.HEROKUURL.com:50051')
    stub = my_grpc.MyStub(channel)
    file = _get_file_content()
    response = stub.Predict(icp_pb2.MyRequest(file_content=file))
    print("received: " + response.results)

我正在使用计算机上的客户端,但是没有收到服务器的任何响应.如果在本地启动,我能够成功与服务器通信.我究竟做错了什么?

最佳答案
Heroku does not support HTTP 2.另一方面,GRPC使用基于http / 2的传输.我认为这就是为什么你可以在本地连接,但不能从Heroku连接.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读