TryRpc

public final class TryRpc

Eseguire batch di richieste RPC.

Questa operazione esegue in modo asincrono una singola richiesta RPC o un batch di richieste. Le richieste RPC sono definite da tre parametri principali:

- `address` (l'host + la porta o l'indirizzo BNS della richiesta) -` method` (il nome del metodo per la richiesta) - `request` (la proto stringa serializzata, o vettore di stringhe, dell'argomento della richiesta RPC).

Ad esempio, se hai un servizio RPC in esecuzione sulla porta localhost: 2345 e la sua interfaccia è configurata con la seguente dichiarazione di proto:

service MyService {
   rpc MyMethod(MyRequestProto) returns (MyResponseProto) {
   
 };
 }
, chiama questo op con argomenti:
address = "localhost:2345"
 method = "MyService/MyMethod"
 
Il tensore `request` è un tensore di stringa che rappresenta` MyRequestProto` serializzato stringhe; e il tensore della stringa di output `response` avrà la stessa forma e conterrà (al completamento con successo) le corrispondenti stringhe serializzate` MyResponseProto`.

Ad esempio, per inviare un singolo, vuoto, `MyRequestProto`, chiama questo op con` request = "" `. Per inviare 5 richieste vuote parallele , chiama questo op con `request = [" "," "," "," "," "]`.

Più in generale, si può creare un batch di protos serializzati `MyRequestProto` da tensori in batch regolari usando l'operazione` encode_proto` e convertire i protos serializzati di risposta `MyResponseProto` in tensori in batch usando l'op` decode_proto`.

NOTA Lavorare con proto stringhe serializzate è più veloce che istanziare oggetti proto effettivi in ​​memoria, quindi non è previsto alcun degrado delle prestazioni rispetto alla scrittura di kernel personalizzati per questo flusso di lavoro.

A differenza dell'operazione standard `Rpc`, se la connessione fallisce o il lavoratore remoto restituisce uno stato di errore, questa operazione non ripristina l'eccezione. Invece, la voce `status_code` e` status_message` per la chiamata RPC corrispondente viene impostata con l'errore restituito dalla chiamata RPC. Il tensore `response` conterrà valori di risposta validi per quelle voci di minibatch i cui RPC non hanno avuto esito negativo; il resto delle voci avrà stringhe vuote.

Classi annidate

classe TryRpc.Options Attributi opzionali perTryRpc

Metodi pubblici

TryRpc statico
creare ( Ambito di applicazione, operando <String> indirizzo, operando <String> metodo, operando <String> richiesta, Opzioni ... Opzioni)
Metodo di fabbrica per creare una classe che avvolge una nuova operazione TryRpc.
static TryRpc.Options
failFast (booleano failFast)
static TryRpc.Options
Output <String>
risposta ()
Stessa forma di "richiesta".
Output <Integer>
statusCode ()
Stessa forma di "richiesta".
Output <String>
statusMessage ()
Stessa forma di "richiesta".
static TryRpc.Options

Metodi ereditati

Metodi pubblici

public static TryRpc creare ( Ambito di applicazione, operando <String> indirizzo, operando <String> metodo, operando <String> richiesta, Opzioni ... Opzioni)

Metodo di fabbrica per creare una classe che avvolge una nuova operazione TryRpc.

Parametri
scopo ambito attuale
indirizzo "0-D" o "1-D". L'indirizzo (ad esempio nome_host: porta) del server RPC. Se questo tensore ha più di 1 elemento, vengono inviate più richieste rpc parallele. Questo argomento trasmette con "metodo" e "richiesta".
metodo "0-D" o "1-D". L'indirizzo del metodo sul server RPC. Se questo tensore ha più di 1 elemento, vengono inviate più richieste rpc parallele. Questo argomento trasmette con "address" e "request".
richiesta "0-D" o "1-D". Proto stringhe serializzate: l'argomento della richiesta rpc. Se questo tensore ha più di 1 elemento, vengono inviate più richieste rpc parallele. Questo argomento trasmette con "indirizzo" e "metodo".
opzioni trasporta valori di attributi opzionali
ritorna
  • una nuova istanza di TryRpc

public static TryRpc.Options failFast (Boolean failFast)

Parametri
failFast "booleano". Se "true" (impostazione predefinita), gli errori di connessione (ovvero, il server non risponde immediatamente) causano un errore RPC.

protocollo TryRpc.Options statico pubblico (protocollo String)

Parametri
protocollo Protocollo RPC da utilizzare. Una stringa vuota significa utilizzare il protocollo predefinito. Le opzioni includono "grpc".

output pubblico <String> risposta ()

Stessa forma di "richiesta". Proto stringhe serializzate: le risposte rpc.

public Output <Integer> statusCode ()

Stessa forma di "richiesta". I valori corrispondono ai codici enum di stato tensorflow.

output pubblico <String> statusMessage ()

Stessa forma di "richiesta". I valori corrispondono ai messaggi di stato restituiti dalle chiamate RPC.

public static TryRpc.Options timeoutInMs (Long timeoutInMs)

Parametri
timeoutInMs "int". Se "0" (impostazione predefinita), il kernel eseguirà la richiesta RPC e scadrà solo se la scadenza RPC passa o la sessione scade. Se questo valore è maggiore di "0", l'operazione solleverà un'eccezione se RPC impiega più tempo di "timeout_in_ms".