प्रयत्नआरपीसी

सार्वजनिक अंतिम वर्ग TryRpc

RPC अनुरोधों के बैच निष्पादित करें.

यह ऑप एसिंक्रोनस रूप से या तो एकल आरपीसी अनुरोध, या अनुरोधों का एक बैच निष्पादित करता है। RPC अनुरोधों को तीन मुख्य मापदंडों द्वारा परिभाषित किया गया है:

- `पता` (अनुरोध का होस्ट+पोर्ट या बीएनएस पता) - `विधि` (अनुरोध के लिए विधि का नाम) - `अनुरोध` (आरपीसी अनुरोध तर्क की क्रमबद्ध प्रोटो स्ट्रिंग, या स्ट्रिंग्स का वेक्टर)।

उदाहरण के लिए, यदि आपके पास पोर्ट लोकलहोस्ट:2345 पर एक आरपीसी सेवा चल रही है, और इसका इंटरफ़ेस निम्नलिखित प्रोटो घोषणा के साथ कॉन्फ़िगर किया गया है:

service MyService {
   rpc MyMethod(MyRequestProto) returns (MyResponseProto) {
   
 };
 }
तो इस ऑप को तर्कों के साथ कॉल करें:
address = "localhost:2345"
 method = "MyService/MyMethod"
 
`अनुरोध` टेंसर एक स्ट्रिंग टेंसर का प्रतिनिधित्व करता है क्रमबद्ध `MyRequestProto` स्ट्रिंग्स; और आउटपुट स्ट्रिंग टेंसर `रिस्पॉन्स` का आकार समान होगा और इसमें (सफल समापन पर) संबंधित क्रमबद्ध `MyResponseProto` स्ट्रिंग्स होंगी।

उदाहरण के लिए, एक एकल, खाली, `MyRequestProto` भेजने के लिए, इस ऑप को `request = ""` के साथ कॉल करें। 5 समानांतर खाली अनुरोध भेजने के लिए, इस ऑप को `request = ["", "", "", "", ""]` के साथ कॉल करें।

अधिक आम तौर पर, कोई व्यक्ति `encode_proto` op का उपयोग करके नियमित बैच वाले टेनर्स से `MyRequestProto` क्रमबद्ध प्रोटोज़ का एक बैच बना सकता है, और `decode_proto` op का उपयोग करके प्रतिक्रिया `MyResponseProto` क्रमबद्ध प्रोटोज़ को बैच टेनर्स में परिवर्तित कर सकता है।

नोट क्रमबद्ध प्रोटो स्ट्रिंग्स के साथ काम करना मेमोरी में वास्तविक प्रोटो ऑब्जेक्ट्स को इंस्टेंट करने की तुलना में तेज़ है, इसलिए इस वर्कफ़्लो के लिए कस्टम कर्नेल लिखने की तुलना में कोई प्रदर्शन गिरावट अपेक्षित नहीं है।

मानक `आरपीसी` ऑप के विपरीत, यदि कनेक्शन विफल हो जाता है या दूरस्थ कार्यकर्ता त्रुटि स्थिति लौटाता है, तो यह ऑप अपवाद को दोबारा नहीं उठाता है। इसके बजाय, संबंधित RPC कॉल के लिए `status_code` और `status_message` प्रविष्टि को RPC कॉल से मिली त्रुटि के साथ सेट किया गया है। 'प्रतिक्रिया' टेंसर में उन मिनीबैच प्रविष्टियों के लिए वैध प्रतिक्रिया मान शामिल होंगे जिनकी आरपीसी विफल नहीं हुई थी; बाकी प्रविष्टियों में खाली स्ट्रिंग होंगी।

नेस्टेड क्लासेस

कक्षा TryRpc.विकल्प TryRpc के लिए वैकल्पिक विशेषताएँ

सार्वजनिक तरीके

स्थिर TryRpc
बनाएं ( स्कोप स्कोप, ऑपरेंड <स्ट्रिंग> पता, ऑपरेंड <स्ट्रिंग> विधि, ऑपरेंड <स्ट्रिंग> अनुरोध, विकल्प... विकल्प)
एक नया TryRpc ऑपरेशन लपेटकर एक क्लास बनाने की फ़ैक्टरी विधि।
स्थिर TryRpc.Options
फ़ेलफ़ास्ट (बूलियन फ़ेलफ़ास्ट)
स्थिर TryRpc.Options
प्रोटोकॉल (स्ट्रिंग प्रोटोकॉल)
आउटपुट <स्ट्रिंग>
प्रतिक्रिया ()
'अनुरोध' के समान आकार।
आउटपुट <पूर्णांक>
स्थिति का कोड ()
'अनुरोध' के समान आकार।
आउटपुट <स्ट्रिंग>
स्थिति संदेश ()
'अनुरोध' के समान आकार।
स्थिर TryRpc.Options
टाइमआउटइनएमएस (लंबा टाइमआउटइनएमएस)

विरासत में मिली विधियाँ

सार्वजनिक तरीके

सार्वजनिक स्थैतिक TryRpc बनाएँ ( स्कोप स्कोप, ऑपरेंड <स्ट्रिंग> पता, ऑपरेंड <स्ट्रिंग> विधि, ऑपरेंड <स्ट्रिंग> अनुरोध, विकल्प... विकल्प)

एक नया TryRpc ऑपरेशन लपेटकर एक क्लास बनाने की फ़ैक्टरी विधि।

पैरामीटर
दायरा वर्तमान दायरा
पता `0-डी` या `1-डी`। आरपीसी सर्वर का पता (यानी होस्ट_नाम:पोर्ट)। यदि इस टेंसर में 1 से अधिक तत्व हैं, तो एकाधिक समानांतर आरपीसी अनुरोध भेजे जाते हैं। यह तर्क `विधि` और `अनुरोध` के साथ प्रसारित होता है।
तरीका `0-डी` या `1-डी`। RPC सर्वर पर विधि का पता. यदि इस टेंसर में 1 से अधिक तत्व हैं, तो एकाधिक समानांतर आरपीसी अनुरोध भेजे जाते हैं। यह तर्क `पता` और `अनुरोध` के साथ प्रसारित होता है।
अनुरोध `0-डी` या `1-डी`। क्रमबद्ध प्रोटो स्ट्रिंग्स: आरपीसी अनुरोध तर्क। यदि इस टेंसर में 1 से अधिक तत्व हैं, तो एकाधिक समानांतर आरपीसी अनुरोध भेजे जाते हैं। यह तर्क `पता` और `विधि` के साथ प्रसारित होता है।
विकल्प वैकल्पिक गुण मान रखता है
रिटर्न
  • TryRpc का एक नया उदाहरण

सार्वजनिक स्थैतिक TryRpc.Options फ़ेलफ़ास्ट (बूलियन फ़ेलफ़ास्ट)

पैरामीटर
फ़ेलफ़ास्ट `बूलियन`। यदि `सही` (डिफ़ॉल्ट) है, तो कनेक्ट करने में विफलता (यानी, सर्वर तुरंत प्रतिक्रिया नहीं देता) आरपीसी विफलता का कारण बनता है।

सार्वजनिक स्थैतिक TryRpc.Options प्रोटोकॉल (स्ट्रिंग प्रोटोकॉल)

पैरामीटर
शिष्टाचार आरपीसी प्रोटोकॉल का उपयोग करें। खाली स्ट्रिंग का मतलब डिफ़ॉल्ट प्रोटोकॉल का उपयोग करना है। विकल्पों में 'जीआरपीसी' शामिल है।

सार्वजनिक आउटपुट <स्ट्रिंग> प्रतिक्रिया ()

'अनुरोध' के समान आकार। क्रमबद्ध प्रोटो स्ट्रिंग्स: आरपीसी प्रतिक्रियाएँ।

सार्वजनिक आउटपुट <पूर्णांक> स्टेटसकोड ()

'अनुरोध' के समान आकार। मान टेंसरफ़्लो स्थिति एनम कोड के अनुरूप हैं।

सार्वजनिक आउटपुट <स्ट्रिंग> स्थिति संदेश ()

'अनुरोध' के समान आकार। मान RPC कॉल से लौटाए गए स्थिति संदेशों के अनुरूप हैं।

सार्वजनिक स्थैतिक TryRpc.Options timeoutInMs (लंबा टाइमआउटInMs)

पैरामीटर
टाइमआउटइनएमएस `इंट`। यदि `0` (डिफ़ॉल्ट), तो कर्नेल आरपीसी अनुरोध चलाएगा और केवल तभी टाइम आउट करेगा जब आरपीसी की समय सीमा बीत जाएगी या सत्र का समय समाप्त हो जाएगा। यदि यह मान `0` से अधिक है, तो यदि RPC `timeout_in_ms` से अधिक समय लेता है तो ऑप एक अपवाद उठाएगा।