セロリタスクでGRPCサーバーに接続しようとしています。私はPythonのシェルを介してこのスニペットを実行すると、私は接続を確立し、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)
の以下の部分を持っています。しかし、これをCeleryタスクを通して実行すると、grpc.FutureTimeoutError
が得られ、接続は確立されません。
セロリの作業員は、grpcサーバーと同じマシン上にあります。私はsocket
ライブラリを使用してGRPCサーバーにpingを実行しようとしましたが、うまくいきました(いくつかのジャンクレスポンスを返しました)。
私はgrpcio==1.6.0
をインストールしたPython 2.7を使用しています。セロリのバージョンは4.1.0です。任意のポインタが役立つだろう。
シェルとセロリを同じマシンで実行していますか?ここにファイアウォールが関わっていないと確信していますか? – kichik
これらは同じマシン上で実行されています。 Celeryタスクでは、 'socket'ライブラリとの接続を試みたので、接続の問題はありません。 grpcサーバーに接続できましたが(接続していませんでしたが) – saurabhsood91