TryRpc

מחלקה סופית ציבורית TryRpc

בצע קבוצות של בקשות RPC.

פעולה זו מבצעת באופן אסינכרוני בקשת RPC בודדת, או אצווה של בקשות. בקשות RPC מוגדרות על ידי שלושה פרמטרים עיקריים:

- `כתובת` (המארח+פורט או כתובת ה-BNS של הבקשה) - `שיטה` (שם השיטה לבקשה) - `request` (מחרוזת הפרוטו המסודרת, או וקטור המחרוזות, של ארגומנט הבקשה RPC).

לדוגמה, אם יש לך שירות RPC שפועל על port localhost:2345, והממשק שלו מוגדר עם הצהרת הפרוטו הבאה:

service MyService {
   rpc MyMethod(MyRequestProto) returns (MyResponseProto) {
   
 };
 }
אז קרא ל-op זה עם ארגומנטים:
address = "localhost:2345"
 method = "MyService/MyMethod"
 
טנסור ה-'request' הוא טנסור מחרוזת המייצג מחרוזות 'MyRequestProto' בסידרה; ולמחרוזת הפלט 'תגובה' תהיה אותה צורה והיא תכיל (עם השלמתה מוצלחת) מחרוזות 'MyResponseProto' תואמות.

לדוגמה, כדי לשלוח יחיד, ריק, `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 ()
אותה צורה כמו 'בקשה'.
פלט <מחרוזת>
הודעת סטטוס ()
אותה צורה כמו 'בקשה'.
סטטי TryRpc.Options
timeoutInMs (Long timeoutInMs)

שיטות בירושה

שיטות ציבוריות

יצירת TryRpc סטטי ציבורי (היקף היקף , כתובת Operand <String>, שיטת Operand <String>, בקשת 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'.

תגובת <String> פלט ציבורית ()

אותה צורה כמו 'בקשה'. מחרוזות פרוטו מסודרות: תגובות ה-rpc.

פלט ציבורי <Integer> statusCode ()

אותה צורה כמו 'בקשה'. הערכים תואמים לקודי ה-enum Status של tensorflow.

פלט ציבורי <String> statusMessage ()

אותה צורה כמו 'בקשה'. הערכים תואמים להודעות סטטוס שהוחזרו משיחות RPC.

Public static TryRpc.Options timeoutInMs (Long timeoutInMs)

פרמטרים
timeoutInMs `int`. אם '0' (ברירת מחדל), אזי הקרנל יריץ את בקשת ה-RPC ופסק זמן רק אם תאריך היעד של ה-RPC יעבור או שהסשן יעבור זמן קצוב. אם ערך זה גדול מ-'0', אזי הפעולה תעלה חריגה אם ה-RPC לוקח יותר מ-'timeout_in_ms'.