मैं एक अजवाइन कार्य में एक जीआरपीसी सर्वर से कनेक्ट करने की कोशिश कर रहा हूं। मैं कोडएक सेलेरी कार्य में 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)
जब मैं अजगर खोल के माध्यम से इस स्निपेट को चलाने का निम्न भाग है, मैं कनेक्शन स्थापित करने, और निष्पादित GRPC तरीकों में सक्षम हूँ। हालांकि, जब मैं इसे सेलेरी कार्य के माध्यम से चलाता हूं, तो मुझे grpc.FutureTimeoutError
मिलता है, और कनेक्शन स्थापित नहीं होता है।
सेलेरी कार्यकर्ता जीआरपीसी सर्वर के समान मशीन पर स्थित है। मैंने जीआरपीसी सर्वर को पिंग करने के लिए socket
लाइब्रेरी का उपयोग करने का प्रयास किया, और यह काम किया (यह कुछ जंक प्रतिक्रिया लौटा)।
मैं पाइथन 2.7 का उपयोग कर रहा हूं, grpcio==1.6.0
स्थापित है। सेलेरी संस्करण 4.1.0 है। कोई संकेतक सहायक होगा।
क्या आप उसी मशीन पर खोल और अजवाइन चला रहे हैं? क्या आप वाकई यहां शामिल कोई फ़ायरवॉल नहीं है? – kichik
वे एक ही मशीन पर चल रहे हैं। कनेक्शन कनेक्शन नहीं होना चाहिए, क्योंकि सेलेरी कार्य में, मैंने 'सॉकेट' लाइब्रेरी से कनेक्ट करने का प्रयास किया। यह जीआरपीसी सर्वर को मारने में सक्षम था (हालांकि यह कनेक्ट नहीं हुआ) – saurabhsood91