TryRpc

clase final pública TryRpc

Realice lotes de solicitudes RPC.

Esta operación realiza de forma asincrónica una sola solicitud RPC o un lote de solicitudes. Las solicitudes de RPC se definen mediante tres parámetros principales:

- `address` (el host + puerto o dirección BNS de la solicitud) -` method` (el nombre del método para la solicitud) - `request` (la cadena proto serializada, o vector de cadenas, del argumento de 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 `request` es un tensor de cadena que representa` MyRequestProto` serializado instrumentos de cuerda; y el tensor de cadena de salida `response` tendrá la misma forma y contendrá (una vez completado con éxito) las cadenas serializadas correspondientes de` 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 la respuesta protos serializados `MyResponseProto` en tensores por lotes usando la operación` decode_proto`.

NOTA Trabajar con proto strings serializadas es más rápido que instanciar objetos proto reales en la memoria, por lo que no se espera una degradación del rendimiento en comparación con la escritura de kernels 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 su lugar, la entrada `status_code` y` status_message` para la llamada RPC correspondiente se establece con el error devuelto por la llamada RPC. El tensor de "respuesta" contendrá valores de respuesta válidos para aquellas entradas de minibatch cuyas RPC no fallaron; el resto de las entradas tendrán cadenas vacías.

Clases anidadas

clase Opciones de TryRpc. Atributos opcionales paraTryRpc

Métodos públicos

TryRpc estático
crear ( alcance de alcance, operando <String> dirección, operando <String> método, operando <String> solicitud, Opciones ... opciones)
Método de fábrica para crear una clase que envuelva una nueva operación TryRpc.
Opciones de prueba estáticas
failFast (Booleano failFast)
Opciones de prueba estáticas
Salida <String>
respuesta ()
Misma forma que "solicitud".
Salida <Entero>
statusCode ()
Misma forma que "solicitud".
Salida <String>
statusMessage ()
Misma forma que "solicitud".
Opciones de prueba estáticas
timeoutInMs (Long timeoutInMs)

Métodos heredados

Métodos públicos

public static TryRpc crear ( Alcance alcance, operando <String> dirección, operando <String> método, operando <String> solicitud, Opciones ... Opciones)

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

Parámetros
alcance alcance actual
habla a "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 múltiples solicitudes rpc en paralelo. 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 múltiples solicitudes rpc en paralelo. Este argumento se transmite con `dirección` y` solicitud`.
pedido "0-D" o "1-D". Cadenas proto serializadas: el argumento de solicitud rpc. Si este tensor tiene más de 1 elemento, se envían múltiples solicitudes rpc en paralelo. Este argumento se transmite con `dirección` y` método`.
opciones lleva valores de atributos opcionales
Devoluciones
  • una nueva instancia de TryRpc

TryRpc.Opciones estáticas públicas failFast (FailFast booleano)

Parámetros
Fallar rapido `booleano`. Si es "verdadero" (predeterminado), las fallas en la conexión (es decir, el servidor no responde inmediatamente) causan una falla en el RPC.

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

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

salida pública <String> respuesta ()

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

salida pública <Integer> statusCode ()

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

Salida pública <String> statusMessage ()

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

public static TryRpc.Options timeoutInMs (Long timeoutInMs)

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