PruebeRpc

clase final pública TryRpc

Realizar lotes de solicitudes RPC.

Esta operación realiza de forma asincrónica una única solicitud RPC o un lote de solicitudes. Las solicitudes RPC están definidas por tres parámetros principales:

- `dirección` (el host+puerto o dirección BNS de la solicitud) - `método` (el nombre del método para la solicitud) - `solicitud` (la cadena proto serializada, o vector de cadenas, del argumento de la solicitud RPC).

Por ejemplo, si tiene un servicio RPC ejecutándose en el puerto localhost:2345 y su interfaz está configurada con la siguiente declaración de proto:

service MyService {
   rpc MyMethod(MyRequestProto) returns (MyResponseProto) {
   
 };
 }
, llame a esta operación con argumentos:
address = "localhost:2345"
 method = "MyService/MyMethod"
 
El tensor `solicitud` es un tensor de cadena que representa cadenas serializadas `MyRequestProto`; y el tensor de cadena de salida `respuesta` tendrá la misma forma y contendrá (una vez completado con éxito) las correspondientes cadenas serializadas `MyResponseProto`.

Por ejemplo, para enviar un único `MyRequestProto` vacío, llame a esta operación con `request = ""`. Para enviar 5 solicitudes vacías paralelas , llame a esta operación con `request = ["", "", "", "", ""]`.

De manera más general, se puede crear un lote de protos serializados `MyRequestProto` a partir de tensores por lotes regulares usando la operación `encode_proto`, y convertir los protos serializados de respuesta `MyResponseProto` en tensores por lotes usando la operación `decode_proto`.

NOTA Trabajar con cadenas de proto serializadas es más rápido que crear instancias de objetos de proto reales en la memoria, por lo que no se espera ninguna degradación del rendimiento en comparación con escribir núcleos personalizados para este flujo de trabajo.

A diferencia de la operación estándar `Rpc`, si la conexión falla o el trabajador remoto devuelve un estado de error, esta operación no vuelve a generar la excepción. En cambio, las entradas `status_code` y `status_message` para la llamada RPC correspondiente se configuran con el error devuelto por la llamada RPC. El tensor de "respuesta" contendrá valores de respuesta válidos para aquellas entradas de minibatch cuyos RPC no fallaron; el resto de las entradas tendrán cadenas vacías.

Clases anidadas

clase PruebeRpc.Options Atributos opcionales para TryRpc

Métodos públicos

TryRpc estático
crear (alcance del alcance , dirección del operando <String>, método del operando <String>, solicitud del operando <String>, opciones... opciones)
Método de fábrica para crear una clase que envuelve una nueva operación TryRpc.
TryRpc.Options estático
failFast (fallFast booleano)
TryRpc.Options estático
protocolo (protocolo de cadena)
Salida <Cadena>
respuesta ()
Misma forma que "solicitud".
Salida <Entero>
código de estado ()
Misma forma que "solicitud".
Salida <Cadena>
mensaje de estado ()
Misma forma que "solicitud".
TryRpc.Options estático
timeoutInMs (tiempo de espera largo en Ms)

Métodos heredados

Métodos públicos

creación pública estática de TryRpc (alcance del alcance , dirección del operando <String>, método del operando <String>, solicitud del operando <String>, opciones... opciones)

Método de fábrica para crear una clase que envuelve una nueva operación TryRpc.

Parámetros
alcance alcance actual
DIRECCIÓN `0-D` o `1-D`. La dirección (es decir, nombre_host:puerto) del servidor RPC. Si este tensor tiene más de 1 elemento, se envían varias solicitudes rpc paralelas. Este argumento se transmite con "método" y "solicitud".
método `0-D` o `1-D`. La dirección del método en el servidor RPC. Si este tensor tiene más de 1 elemento, se envían varias solicitudes rpc paralelas. Este argumento se transmite con "dirección" y "solicitud".
pedido `0-D` o `1-D`. Protocadenas serializadas: el argumento de solicitud rpc. Si este tensor tiene más de 1 elemento, se envían varias solicitudes rpc paralelas. Este argumento se transmite con "dirección" y "método".
opciones lleva valores de atributos opcionales
Devoluciones
  • una nueva instancia de TryRpc

público estático TryRpc.Options failFast (fallFast booleano)

Parámetros
Fallar rapido `booleano`. Si es "verdadero" (predeterminado), las fallas al conectarse (es decir, el servidor no responde inmediatamente) causan una falla de RPC.

Protocolo público estático TryRpc.Options (protocolo String)

Parámetros
protocolo Protocolo RPC a utilizar. Una cadena vacía significa utilizar el protocolo predeterminado. Las opciones incluyen 'grpc'.

respuesta pública de salida <Cadena> ()

Misma forma que "solicitud". Protocadenas serializadas: las respuestas rpc.

Salida pública <Entero> código de estado ()

Misma forma que "solicitud". Los valores corresponden a códigos de enumeración de estado de tensorflow.

Salida pública <Cadena> statusMessage ()

Misma forma que "solicitud". Los valores corresponden a los mensajes de estado devueltos por las llamadas RPC.

público estático TryRpc.Options timeoutInMs (Tiempo de espera largo en Ms)

Parámetros
tiempo de esperaEnMs `int`. Si es `0` (predeterminado), entonces el kernel ejecutará la solicitud RPC y solo expirará si la fecha límite de RPC pasa o la sesión expira. Si este valor es mayor que "0", entonces la operación generará una excepción si el RPC tarda más que "timeout_in_ms".