בצע קבוצות של בקשות RPC.
פעולה זו מבצעת באופן אסינכרוני בקשת RPC בודדת, או אצווה של בקשות. בקשות RPC מוגדרות על ידי שלושה פרמטרים עיקריים:
- `כתובת` (המארח+פורט או כתובת ה-BNS של הבקשה) - `שיטה` (שם השיטה לבקשה) - `request` (מחרוזת הפרוטו המסודרת, או וקטור המחרוזות, של ארגומנט הבקשה RPC).
לדוגמה, אם יש לך שירות RPC הפועל על port localhost:2345, והממשק שלו מוגדר עם הצהרת הפרוטו הבאה:
service MyService {
rpc MyMethod(MyRequestProto) returns (MyResponseProto) {
};
}address = "localhost:2345"
method = "MyService/MyMethod"
לדוגמה, כדי לשלוח יחיד, ריק, `MyRequestProto`, קרא למבצע הזה עם `request = ""`. כדי לשלוח 5 בקשות ריקות מקבילות , התקשר לפעולה זו עם `request = ["", "", "", "", ""]`.
באופן כללי יותר, אפשר ליצור אצווה של 'MyRequestProto' פרוטו סריאליים מטנזורים אצווה רגילים באמצעות האופציה של 'encode_proto', ולהמיר את התגובה 'MyResponseProto' פרוטואים בסידרה לטנזורים אצווה באמצעות האופ של 'decode_proto'.
הערה עבודה עם מחרוזות פרוטו מסודרות מהירה יותר מאשר מופע של אובייקטי פרוטו ממשיים בזיכרון, כך שלא צפויה ירידה בביצועים בהשוואה לכתיבת גרעינים מותאמים אישית עבור זרימת עבודה זו.
בשונה מהאופציה הרגילה של `Rpc`, אם החיבור נכשל או שהעובד המרוחק מחזיר סטטוס שגיאה, פעולה זו אינה מעלה מחדש את החריג. במקום זאת, הערך `status_code` ו`status_message` עבור קריאת ה-RPC המתאימה מוגדרים עם השגיאה שהוחזרה משיחת ה-RPC. טנסור ה-'response' יכיל ערכי תגובה חוקיים עבור אותם ערכי מיני-אצט שה-RPC שלהם לא נכשל; לשאר הערכים יהיו מחרוזות ריקות.
כיתות מקוננות
| מַחלָקָה | TryRpc.Options | תכונות אופציונליות עבור TryRpc | |
שיטות ציבוריות
| סטטי TryRpc | ליצור ( היקף היקף , כתובת <מחרוזת> של Operand , שיטת <מחרוזת> של Operand , בקשת Operand <מחרוזת>, אפשרויות... אפשרויות) שיטת מפעל ליצירת מחלקה העוטפת פעולת TryRpc חדשה. |
| סטטי TryRpc.Options | failFast (failFast בוליאני) |
| סטטי TryRpc.Options | פרוטוקול (פרוטוקול מחרוזת) |
| פלט <מחרוזת> | תגובה () אותה צורה כמו 'בקשה'. |
| פלט <מספר שלם> | statusCode () אותה צורה כמו 'בקשה'. |
| פלט <מחרוזת> | statusMessage () אותה צורה כמו 'בקשה'. |
| סטטי TryRpc.Options | timeoutInMs (Long timeoutInMs) |
שיטות בירושה
שיטות ציבוריות
יצירת TryRpc סטטית ציבורית (היקף היקף , כתובת <String> של Operand , שיטת <מחרוזת> של Operand , בקשת Operand <String>, אפשרויות... אפשרויות)
שיטת מפעל ליצירת מחלקה העוטפת פעולת TryRpc חדשה.
פרמטרים
| תְחוּם | ההיקף הנוכחי |
|---|---|
| כְּתוֹבֶת | `0-D` או `1-D`. הכתובת (כלומר host_name:port) של שרת ה-RPC. אם לטנזור זה יש יותר מאלמנט אחד, נשלחות מספר בקשות rpc מקבילות. טיעון זה משדר עם `שיטה` ו`בקשה`. |
| שִׁיטָה | `0-D` או `1-D`. כתובת השיטה בשרת RPC. אם לטנזור זה יש יותר מאלמנט אחד, נשלחות מספר בקשות rpc מקבילות. ארגומנט זה משדר עם 'כתובת' ו'בקשה'. |
| בַּקָשָׁה | `0-D` או `1-D`. מחרוזות פרוטו מסודרות: ארגומנט בקשת rpc. אם לטנזור זה יש יותר מאלמנט אחד, נשלחות מספר בקשות rpc מקבילות. טיעון זה משדר עם `כתובת` ו`שיטה`. |
| אפשרויות | נושא ערכי תכונות אופציונליות |
מחזיר
- מופע חדש של TryRpc
ציבורי סטטי TryRpc.Options failFast (בוליאני failFast)
פרמטרים
| failFast | 'בוליאני'. אם 'true' (ברירת מחדל), אזי כשלים בחיבור (כלומר, השרת לא מגיב מיד) גורמים לכשל RPC. |
|---|
פרוטוקול TryRpc.Options סטטי ציבורי (פרוטוקול מחרוזת)
פרמטרים
| פּרוֹטוֹקוֹל | פרוטוקול RPC לשימוש. מחרוזת ריקה פירושה שימוש בפרוטוקול ברירת המחדל. האפשרויות כוללות 'grpc'. |
|---|
פלט ציבורי <Integer> statusCode ()
אותה צורה כמו 'בקשה'. הערכים תואמים לקודי ה-enum Status של tensorflow.
פלט ציבורי <String> statusMessage ()
אותה צורה כמו 'בקשה'. הערכים תואמים להודעות סטטוס שהוחזרו משיחות RPC.
Public static TryRpc.Options timeoutInMs (Long timeoutInMs)
פרמטרים
| timeoutInMs | `int`. אם '0' (ברירת מחדל), אזי הקרנל יריץ את בקשת ה-RPC ופסק זמן רק אם תאריך היעד של ה-RPC יעבור או שהסשן יעבור זמן קצוב. אם ערך זה גדול מ-'0', אזי ה-op יעלה חריגה אם ה-RPC ייקח יותר מ-'timeout_in_ms'. |
|---|