芹菜任务中的 grpc 超时



我正在尝试在芹菜任务中连接到GRPC服务器。我有以下一段代码

    timeout = 1
    host = '0.tcp.ngrok.io'
    port = '7145'
    channel = grpc.insecure_channel('{0}:{1}'.format(host, port))
    try:
        grpc.channel_ready_future(channel).result(timeout=timeout)
    except grpc.FutureTimeoutError:
        sys.exit(1)
    stub = stub(channel)

当我通过 Python shell 运行此代码片段时,我能够建立连接并执行 GRPC 方法。但是,当我通过 Celery 任务运行它时,我得到了grpc.FutureTimeoutError,并且没有建立连接。

芹菜工作线程与 grpc 服务器位于同一台计算机上。我尝试使用 socket 库对 GRPC 服务器进行 ping 操作,并且有效(它返回了一些垃圾响应)。

我正在使用 Python 2.7,安装了 grpcio==1.6.0。芹菜版本是 4.1.0。任何指针都会有所帮助。

我相信 Celery 在引擎盖下使用了分叉,而 gRPC 1.6 不支持任何分叉行为。

尝试更新到 gRPC 1.7。

相关内容

  • 没有找到相关文章

最新更新