Ich versuche, eine Verbindung zu einem GRPC-Server in einer Sellerie Aufgabe. Ich habe das folgende Stück CodeGrpc Timeout in einer Sellerie Aufgabe
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)
Wenn ich diese Schnipsel durch die Python-Shell laufen, ich bin in der Lage, die Verbindung herzustellen, und führen Sie die GRPC Methoden. Jedoch, wenn ich dies durch die Sellerie-Aufgabe ausführen, bekomme ich die grpc.FutureTimeoutError
, und die Verbindung wird nicht hergestellt.
Der Sellerie Arbeiter liegt auf der gleichen Maschine wie der Grpc Server. Ich habe versucht, die socket
Bibliothek zu verwenden, um den GRPC-Server zu pingen, und das hat funktioniert (es gab einige Spam-Antwort zurück).
Ich benutze Python 2.7, mit grpcio==1.6.0
installiert. Die Sellerie-Version ist 4.1.0. Alle Hinweise wären hilfreich.
Betreiben Sie Shell und Sellerie auf der gleichen Maschine? Sind Sie sicher, dass hier keine Firewall beteiligt ist? – kichik
Sie laufen auf demselben Rechner. Es sollte kein Verbindungsproblem geben, weil ich in der Sellerie-Aufgabe versucht habe, mich mit der "Socket" -Bibliothek zu verbinden. Es war in der Lage, den Grpc-Server zu treffen (obwohl es keine Verbindung hergestellt hat) – saurabhsood91