RPC リクエストのバッチを実行します。
この操作は、単一の RPC リクエストまたはリクエストのバッチを非同期的に実行します。 RPC リクエストは、次の 3 つの主要なパラメータによって定義されます。
- `address` (リクエストのホスト + ポートまたは BNS アドレス) - `method` (リクエストのメソッド名) - `request` (RPC リクエスト引数のシリアル化されたプロト文字列、または文字列のベクトル)。
たとえば、ポート localhost:2345 で RPC サービスが実行されており、そのインターフェイスが次の proto 宣言で構成されているとします。
service MyService {
rpc MyMethod(MyRequestProto) returns (MyResponseProto) {
};
}
address = "localhost:2345"
method = "MyService/MyMethod"
たとえば、単一の空の `MyRequestProto` を送信するには、この操作を `request = ""` で呼び出します。 5 つの空のリクエストを並行して送信するには、`request = ["", "", "", "", ""]` を指定してこのオペレーションを呼び出します。
より一般的には、「encode_proto」演算子を使用して通常のバッチ化されたテンソルから「MyRequestProto」シリアル化プロトのバッチを作成し、「decode_proto」演算子を使用して応答の「MyResponseProto」シリアル化プロトをバッチ化されたテンソルに変換できます。
注シリアル化されたプロト文字列の操作は、メモリ内で実際のプロト オブジェクトをインスタンス化するよりも高速であるため、このワークフロー用のカスタム カーネルを作成する場合と比較してパフォーマンスの低下は予想されません。
標準の「Rpc」操作とは異なり、接続が失敗した場合、またはリモート ワーカーがエラー ステータスを返した場合、この操作は例外を再発生させません。代わりに、対応する RPC 呼び出しの `status_code` および `status_message` エントリには、RPC 呼び出しから返されたエラーが設定されます。 「response」テンソルには、RPC が失敗しなかったミニバッチ エントリの有効な応答値が含まれます。残りのエントリには空の文字列が含まれます。
ネストされたクラス
クラス | TryRpc.オプション | TryRpc のオプションの属性 |
パブリックメソッド
静的TryRpc | |
静的TryRpc.Options | フェイルファースト(ブールフェイルファースト) |
静的TryRpc.Options | プロトコル(文字列プロトコル) |
出力<文字列> | 応答() 「request」と同じ形です。 |
出力<整数> | ステータスコード() 「request」と同じ形です。 |
出力<文字列> | ステータスメッセージ() 「request」と同じ形です。 |
静的TryRpc.Options | timeoutInMs (長いタイムアウトInMs) |
継承されたメソッド
パブリックメソッド
public static TryRpc create (スコープスコープ、オペランド<String> アドレス、オペランド<String> メソッド、オペランド<String> リクエスト、オプション...オプション)
新しい TryRpc 操作をラップするクラスを作成するファクトリ メソッド。
パラメータ
範囲 | 現在のスコープ |
---|---|
住所 | 「0-D」または「1-D」。 RPC サーバーのアドレス (つまり、host_name:port)。このテンソルに複数の要素がある場合、複数の並列 RPC リクエストが送信されます。この引数は `method` と `request` でブロードキャストされます。 |
方法 | 「0-D」または「1-D」。 RPC サーバー上のメソッド アドレス。このテンソルに複数の要素がある場合、複数の並列 RPC リクエストが送信されます。この引数は `address` と `request` を使用してブロードキャストされます。 |
リクエスト | 「0-D」または「1-D」。シリアル化されたプロト文字列: rpc リクエスト引数。このテンソルに複数の要素がある場合、複数の並列 RPC リクエストが送信されます。この引数は「アドレス」と「メソッド」でブロードキャストされます。 |
オプション | オプションの属性値を持ちます |
返品
- TryRpc の新しいインスタンス
public static TryRpc.Options failedFast (ブール値のfailFast)
パラメータ
失敗が早い | 「ブール値」。 「true」(デフォルト) の場合、接続に失敗すると (つまり、サーバーがすぐに応答しないと)、RPC エラーが発生します。 |
---|
public static TryRpc.Optionsプロトコル(文字列プロトコル)
パラメータ
プロトコル | 使用する RPC プロトコル。空の文字列は、デフォルトのプロトコルを使用することを意味します。オプションには「grpc」が含まれます。 |
---|
public static TryRpc.Options timeoutInMs (長いタイムアウトInMs)
パラメータ
タイムアウト時間 | `int`。 「0」(デフォルト) の場合、カーネルは RPC 要求を実行し、RPC 期限が過ぎるかセッションがタイムアウトした場合にのみタイムアウトします。この値が「0」より大きい場合、RPC に「timeout_in_ms」よりも時間がかかると、この操作は例外を発生させます。 |
---|