ProvaRpc

classe finale pubblica TryRpc

Esegui 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+porta o l'indirizzo BNS della richiesta) - `method` (il nome del metodo per la richiesta) - `request` (la protostringa 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 proto:

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

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

Più in generale, è possibile creare un batch di prototipi serializzati "MyRequestProto" da tensori batch regolari utilizzando l'operazione "encode_proto" e convertire i prototipi serializzati "MyResponseProto" di risposta in tensori batch utilizzando l'operazione "decode_proto".

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

A differenza dell'operazione "Rpc" standard, se la connessione fallisce o il lavoratore remoto restituisce uno stato di errore, questa operazione non solleva nuovamente 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 "risposta" conterrà valori di risposta validi per quelle voci minibatch le cui RPC non hanno fallito; il resto delle voci avrà stringhe vuote.

Classi nidificate

classe TryRpc.Options Attributi facoltativi per TryRpc

Metodi pubblici

TryRpc statico
create (ambito dell'ambito , indirizzo dell'operando <String>, metodo dell'operando <String>, richiesta dell'operando <String>, opzioni... opzioni)
Metodo factory per creare una classe che racchiude una nuova operazione TryRpc.
TryRpc.Options statico
failFast (failFast booleano)
TryRpc.Options statico
protocollo (protocollo String)
Uscita <Stringa>
risposta ()
Stessa forma di "richiesta".
Output <Intero>
codicestato ()
Stessa forma di "richiesta".
Uscita <Stringa>
messaggio di stato ()
Stessa forma di "richiesta".
TryRpc.Options statico
timeoutInMs (TimeoutInMs lungo)

Metodi ereditati

Metodi pubblici

creazione TryRpc pubblica statica (ambito ambito , indirizzo operando <String>, metodo operando <String>, richiesta operando <String>, opzioni ... )

Metodo factory per creare una classe che racchiude una nuova operazione TryRpc.

Parametri
scopo ambito attuale
indirizzo "0-D" o "1-D". L'indirizzo (ovvero nome_host:porta) del server RPC. Se questo tensore ha più di 1 elemento, vengono inviate più richieste rpc parallele. Questo argomento viene trasmesso 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 viene trasmesso con "indirizzo" e "richiesta".
richiesta "0-D" o "1-D". Stringhe prototipate serializzate: l'argomento della richiesta rpc. Se questo tensore ha più di 1 elemento, vengono inviate più richieste rpc parallele. Questo argomento viene trasmesso con "indirizzo" e "metodo".
opzioni trasporta valori di attributi opzionali
ritorna
  • una nuova istanza di TryRpc

public static TryRpc.Options failFast (booleano 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. La stringa vuota indica l'utilizzo del protocollo predefinito. Le opzioni includono 'grpc'.

risposta pubblica <String> di output ()

Stessa forma di "richiesta". Stringhe prototipate serializzate: le risposte rpc.

output pubblico <intero> statusCode ()

Stessa forma di "richiesta". I valori corrispondono ai codici di enumerazione dello 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 (timeoutInMs lungo)

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