RPC অনুরোধের ব্যাচগুলি সম্পাদন করুন।
এই অপটি অ্যাসিঙ্ক্রোনাসভাবে হয় একটি একক RPC অনুরোধ, বা অনুরোধের একটি ব্যাচ সম্পাদন করে। RPC অনুরোধ তিনটি প্রধান পরামিতি দ্বারা সংজ্ঞায়িত করা হয়:
- `ঠিকানা` (অনুরোধের হোস্ট+পোর্ট বা BNS ঠিকানা) - `পদ্ধতি` (অনুরোধের পদ্ধতির নাম) - `অনুরোধ` (আরপিসি অনুরোধের আর্গুমেন্টের ক্রমিক প্রোটো স্ট্রিং, বা স্ট্রিংয়ের ভেক্টর)।
উদাহরণস্বরূপ, যদি আপনার কাছে একটি RPC পরিষেবা থাকে যা পোর্ট localhost:2345-এ চলছে এবং এর ইন্টারফেস নিম্নলিখিত প্রোটো ঘোষণার সাথে কনফিগার করা হয়েছে:
service MyService {
rpc MyMethod(MyRequestProto) returns (MyResponseProto) {
};
}
address = "localhost:2345"
method = "MyService/MyMethod"
উদাহরণস্বরূপ, একটি একক, খালি, `MyRequestProto` পাঠাতে, এই অপশনটিকে `request = ""` দিয়ে কল করুন। 5টি সমান্তরাল খালি অনুরোধ পাঠাতে, `request = ["", "", "", "", ""]` সহ এই অপশনে কল করুন।
আরও সাধারণভাবে, কেউ `এনকোড_প্রোটো` অপ ব্যবহার করে নিয়মিত ব্যাচ করা টেনসর থেকে `MyRequestProto` সিরিয়ালাইজড প্রোটোর একটি ব্যাচ তৈরি করতে পারে এবং `decode_proto` অপ ব্যবহার করে প্রতিক্রিয়া `MyResponseProto` সিরিয়ালাইজড প্রোটোকে ব্যাচড টেনসরে রূপান্তর করতে পারে।
দ্রষ্টব্য ক্রমিক প্রোটো স্ট্রিংগুলির সাথে কাজ করা মেমরিতে প্রকৃত প্রোটো অবজেক্টগুলিকে সূচনা করার চেয়ে দ্রুততর, তাই এই কর্মপ্রবাহের জন্য কাস্টম কার্নেল লেখার তুলনায় কোনও কর্মক্ষমতা হ্রাস প্রত্যাশিত নয়৷
স্ট্যান্ডার্ড `Rpc` op এর বিপরীতে, যদি সংযোগ ব্যর্থ হয় বা দূরবর্তী কর্মী একটি ত্রুটির স্থিতি ফেরত দেয়, এই অপটি ব্যতিক্রমটি পুনরায় উত্থাপন করে না । পরিবর্তে, সংশ্লিষ্ট RPC কলের জন্য `status_code` এবং `status_message` এন্ট্রি RPC কল থেকে প্রত্যাবর্তিত ত্রুটির সাথে সেট করা হয়েছে। 'প্রতিক্রিয়া' টেনসরে সেই মিনিব্যাচ এন্ট্রিগুলির জন্য বৈধ প্রতিক্রিয়া মান থাকবে যাদের RPCs ব্যর্থ হয়নি; বাকি এন্ট্রিতে খালি স্ট্রিং থাকবে।
নেস্টেড ক্লাস
ক্লাস | TryRpc.Options | TryRpc এর জন্য ঐচ্ছিক বৈশিষ্ট্য |
পাবলিক পদ্ধতি
স্ট্যাটিক ট্রাইআরপিসি | |
স্ট্যাটিক TryRpc. অপশন | ফেইলফাস্ট (বুলিয়ান ফেইলফাস্ট) |
স্ট্যাটিক TryRpc. অপশন | প্রোটোকল (স্ট্রিং প্রোটোকল) |
আউটপুট <স্ট্রিং> | প্রতিক্রিয়া () `অনুরোধ` হিসাবে একই আকার। |
আউটপুট <পূর্ণসংখ্যা> | স্ট্যাটাসকোড () `অনুরোধ` হিসাবে একই আকার। |
আউটপুট <স্ট্রিং> | অবস্থা বার্তা () `অনুরোধ` হিসাবে একই আকার। |
স্ট্যাটিক TryRpc. অপশন | timeoutInMs (লং টাইমআউটInMs) |
উত্তরাধিকারসূত্রে প্রাপ্ত পদ্ধতি
পাবলিক পদ্ধতি
পাবলিক স্ট্যাটিক ট্রাইআরপিসি তৈরি করুন ( স্কোপ স্কোপ, অপারেন্ড <স্ট্রিং> ঠিকানা, অপারেন্ড <স্ট্রিং> পদ্ধতি, অপারেন্ড <স্ট্রিং> অনুরোধ, বিকল্প... বিকল্প)
একটি নতুন TryRpc অপারেশন মোড়ানো একটি ক্লাস তৈরি করার কারখানা পদ্ধতি।
পরামিতি
সুযোগ | বর্তমান সুযোগ |
---|---|
ঠিকানা | `0-D` বা `1-D`। RPC সার্ভারের ঠিকানা (যেমন host_name:port)। যদি এই টেনসরে 1টির বেশি উপাদান থাকে, তাহলে একাধিক সমান্তরাল rpc অনুরোধ পাঠানো হয়। এই যুক্তিটি `পদ্ধতি` এবং `অনুরোধ` সহ সম্প্রচার করে। |
পদ্ধতি | `0-D` বা `1-D`। RPC সার্ভারে পদ্ধতির ঠিকানা। যদি এই টেনসরে 1টির বেশি উপাদান থাকে, তাহলে একাধিক সমান্তরাল rpc অনুরোধ পাঠানো হয়। এই যুক্তিটি `ঠিকানা` এবং `অনুরোধ` সহ সম্প্রচার করে। |
অনুরোধ | `0-D` বা `1-D`। সিরিয়ালাইজড প্রোটো স্ট্রিং: আরপিসি অনুরোধ আর্গুমেন্ট। যদি এই টেনসরে 1টির বেশি উপাদান থাকে, তাহলে একাধিক সমান্তরাল rpc অনুরোধ পাঠানো হয়। এই যুক্তিটি `ঠিকানা` এবং `পদ্ধতি` সহ সম্প্রচার করে। |
বিকল্প | ঐচ্ছিক বৈশিষ্ট্য মান বহন করে |
রিটার্নস
- TryRpc এর একটি নতুন উদাহরণ
পাবলিক স্ট্যাটিক TryRpc. Options failFast (বুলিয়ান ফেইলফাস্ট)
পরামিতি
ব্যর্থ দ্রুত | `বুলিয়ান`। যদি `সত্য` (ডিফল্ট), তাহলে সংযোগ করতে ব্যর্থতা (অর্থাৎ, সার্ভার অবিলম্বে প্রতিক্রিয়া জানায় না) একটি RPC ব্যর্থতার কারণ হয়। |
---|
পাবলিক স্ট্যাটিক TryRpc.Options প্রোটোকল (স্ট্রিং প্রোটোকল)
পরামিতি
প্রোটোকল | ব্যবহার করার জন্য RPC প্রোটোকল। খালি স্ট্রিং মানে ডিফল্ট প্রোটোকল ব্যবহার করা। বিকল্পগুলির মধ্যে 'grpc' অন্তর্ভুক্ত রয়েছে। |
---|
সর্বজনীন আউটপুট <স্ট্রিং> প্রতিক্রিয়া ()
`অনুরোধ` হিসাবে একই আকার। ক্রমিক প্রোটো স্ট্রিং: আরপিসি প্রতিক্রিয়া।
সর্বজনীন আউটপুট <পূর্ণসংখ্যা> স্ট্যাটাসকোড ()
`অনুরোধ` হিসাবে একই আকার। মানগুলি টেনসরফ্লো স্ট্যাটাস এনাম কোডগুলির সাথে মিলে যায়৷
সর্বজনীন আউটপুট <String> statusMessage ()
`অনুরোধ` হিসাবে একই আকার। মান RPC কল থেকে ফেরত স্ট্যাটাস বার্তার সাথে মিলে যায়।
পাবলিক স্ট্যাটিক TryRpc. Options timeoutInMs (লং টাইমআউটInMs)
পরামিতি
timeoutInMs | `int` যদি `0` (ডিফল্ট), তাহলে কার্নেল RPC অনুরোধ চালাবে এবং RPC সময়সীমা শেষ হলে বা সেশনের সময় শেষ হলেই কেবল সময় শেষ হবে। যদি এই মান `0`-এর থেকে বেশি হয়, তাহলে RPC যদি `timeout_in_ms` এর চেয়ে বেশি সময় নেয় তাহলে op একটি ব্যতিক্রম উত্থাপন করবে। |
---|