انجام دسته ای از درخواست های RPC.
این عملیات به صورت ناهمزمان یا یک درخواست RPC یا دسته ای از درخواست ها را انجام می دهد. درخواست های RPC توسط سه پارامتر اصلی تعریف می شوند:
- «آدرس» (میزبان+پورت یا آدرس BNS درخواست) - «روش» (نام روش RPC برای درخواست) - «درخواست» (رشته پروتوی سریالی یا بردار رشتهها، آرگومان درخواست RPC) .
برای مثال، اگر یک سرویس RPC دارید که روی پورت localhost:2345 اجرا میشود و رابط آن با اعلان پروتو زیر پیکربندی شده است:
service MyService {
rpc MyMethod(MyRequestProto) returns (MyResponseProto) {
};
}
این عملیات را با آرگومانها فراخوانی کنید: address = "localhost:2345"
method = "MyService/MyMethod"
تانسور `درخواست` یک تانسور رشتهای است که نشان دهنده آن است. رشته های سریال MyRequestProto. و «response» تانسور رشته خروجی همان شکل را خواهد داشت و (پس از تکمیل موفقیت آمیز) رشته های «MyResponseProto» سریالی متناظر را شامل می شود.به عنوان مثال، برای ارسال یک «MyRequestProto» خالی، این عملیات را با «درخواست = «»» فراخوانی کنید. برای ارسال 5 درخواست خالی موازی ، این عملیات را با `درخواست = ["، "، "، "، ""]` فراخوانی کنید.
بهطور کلیتر، میتوان یک دسته از پروتوهای سریالی MyRequestProto را از تانسورهای دستهای معمولی با استفاده از عملیات «encode_proto» ایجاد کرد و با استفاده از عملیات «decode_proto»، پروتوهای سریالسازی شده «MyResponseProto» را به تانسورهای دستهای تبدیل کرد.
نکته کار با رشته های پروتو سریالی سریعتر از نمونه سازی اشیاء پروتو واقعی در حافظه است، بنابراین در مقایسه با نوشتن هسته های سفارشی برای این گردش کار، هیچ کاهش عملکردی انتظار نمی رود.
اگر اتصال خراب شود یا کارگر راه دور یک وضعیت خطا را برگرداند، عملیات این استثنا را دوباره به صورت محلی افزایش می دهد.
اگر ترجیح می دهید خرابی های RPC را به صورت دستی در نمودار مدیریت کنید، عملیات «TryRpc» را ببینید.
کلاس های تو در تو
کلاس | Rpc.Options | ویژگی های اختیاری برای Rpc |
روش های عمومی
خروجی <String> | asOutput () دسته نمادین یک تانسور را برمیگرداند. |
استاتیک Rpc | |
استاتیک Rpc.Options | failFast (بولی failFast) |
استاتیک Rpc.Options | پروتکل (پروتکل رشته ای) |
خروجی <String> | واکنش () همان شکل «درخواست». |
استاتیک Rpc.Options | timeoutInMs (Long timeoutInMs) |
روش های ارثی
روش های عمومی
خروجی عمومی <String> asOutput ()
دسته نمادین یک تانسور را برمیگرداند.
ورودی های عملیات TensorFlow خروجی های عملیات تنسورفلو دیگر هستند. این روش برای به دست آوردن یک دسته نمادین که نشان دهنده محاسبه ورودی است استفاده می شود.
ایجاد Rpc استاتیک عمومی (حوزه دامنه ، آدرس عملوند <رشته>، روش عملوند <رشته>، درخواست عملوند <رشته>، گزینهها... گزینهها)
روش کارخانه برای ایجاد کلاسی که عملیات Rpc جدید را بسته بندی می کند.
مولفه های
محدوده | محدوده فعلی |
---|---|
نشانی | «0-D» یا «1-D». آدرس (یعنی host_name:port) سرور RPC. اگر این تانسور بیش از 1 عنصر داشته باشد، چندین درخواست rpc موازی ارسال می شود. این آرگومان با «روش» و «درخواست» پخش میشود. |
روش | «0-D» یا «1-D». آدرس روش در سرور RPC. اگر این تانسور بیش از 1 عنصر داشته باشد، چندین درخواست rpc موازی ارسال می شود. این آرگومان با «آدرس» و «درخواست» پخش می شود. |
درخواست | «0-D» یا «1-D». رشته های پروتو سریالی شده: آرگومان درخواست rpc. اگر این تانسور بیش از 1 عنصر داشته باشد، چندین درخواست rpc موازی ارسال می شود. این آرگومان با «آدرس» و «روش» پخش می شود. |
گزینه ها | مقادیر ویژگی های اختیاری را حمل می کند |
برمی گرداند
- یک نمونه جدید از Rpc
عمومی static Rpc.Options failFast (Boolean failFast)
مولفه های
شکست سریع | "بولی". اگر «true» (پیشفرض)، پس اتصال ناموفق (یعنی سرور بلافاصله پاسخ نمیدهد) باعث خرابی RPC میشود. |
---|
پروتکل عمومی استاتیک Rpc.Options (پروتکل رشته ای)
مولفه های
پروتکل | پروتکل RPC برای استفاده رشته خالی یعنی از پروتکل پیش فرض استفاده کنید. گزینه ها عبارتند از "grpc". |
---|
public static Rpc.Options timeoutInMs (Long timeoutInMs)
مولفه های
timeoutInMs | "int". اگر «0» (پیشفرض)، هسته درخواست RPC را اجرا میکند و فقط در صورتی که مهلت RPC بگذرد یا پایان جلسه تمام شود، زمان پایان مییابد. اگر این مقدار بیشتر از «0» باشد، اگر RPC بیشتر از «timeout_in_ms» طول بکشد، عملیات یک استثنا ایجاد میکند. |
---|