TryRpc

classe final pública TryRpc

Execute lotes de solicitações RPC.

Esta operação executa de forma assíncrona uma única solicitação RPC ou um lote de solicitações. As solicitações RPC são definidas por três parâmetros principais:

- `endereço` (o host + porta ou endereço BNS da solicitação) -` método` (o nome do método para a solicitação) - `solicitação` (a string proto serializada, ou vetor de strings, do argumento de solicitação RPC).

Por exemplo, se você tem um serviço RPC em execução na porta localhost: 2345, e sua interface está configurada com a seguinte declaração proto:

service MyService {
   rpc MyMethod(MyRequestProto) returns (MyResponseProto) {
   
 };
 }
então chame esta op com os argumentos:
address = "localhost:2345"
 method = "MyService/MyMethod"
 
O tensor `request` é um tensor string representando` MyRequestProto` serializado cordas; e o tensor de string de saída `response` terá a mesma forma e conterá (após a conclusão bem-sucedida) strings` MyResponseProto` serializadas correspondentes.

Por exemplo, para enviar um único e vazio, `MyRequestProto`, chame esta op com` request = "" `. Para enviar 5 solicitações vazias paralelas , chame este op com `request = [" "," "," "," "," "]`.

De forma mais geral, pode-se criar um lote de protos serializados `MyRequestProto` a partir de tensores em lote regulares usando op` encode_proto` e converter a resposta `MyResponseProto` protos serializados em tensores em lote usando op` decode_proto`.

OBSERVAÇÃO Trabalhar com strings proto serializadas é mais rápido do que instanciar objetos proto reais na memória, portanto, nenhuma degradação de desempenho é esperada em comparação com a escrita de kernels personalizados para este fluxo de trabalho.

Ao contrário da operação `Rpc` padrão, se a conexão falhar ou o trabalhador remoto retornar um status de erro, esta operação não gera a exceção novamente. Em vez disso, as entradas `status_code` e` status_message` para a chamada RPC correspondente são definidas com o erro retornado da chamada RPC. O tensor `response` conterá valores de resposta válidos para as entradas de minibatch cujos RPCs não falharam; o restante das entradas terá strings vazias.

Classes aninhadas

aula TryRpc.Options Atributos opcionais paraTryRpc

Métodos Públicos

TryRpc estático
criar ( Scope escopo, Operando <String> endereço, operando <String> método, Operando <String> pedido, Options ... Opções)
Método de fábrica para criar uma classe envolvendo uma nova operação TryRpc.
TryRpc.Options estáticos
failFast (Boolean failFast)
TryRpc.Options estáticos
protocolo ( protocolo String)
Saída <>
resposta ()
Mesma forma que `solicitação`.
Saída <Integer>
statusCode ()
Mesma forma que `solicitação`.
Saída <>
statusMessage ()
Mesma forma que `solicitação`.
TryRpc.Options estáticos
timeoutInMs (longo timeoutInMs)

Métodos herdados

Métodos Públicos

public static TryRpc criar ( Scope escopo, Operando <String> endereço, operando <String> método, Operando <String> pedido, Options ... Opções)

Método de fábrica para criar uma classe envolvendo uma nova operação TryRpc.

Parâmetros
alcance escopo atual
Morada `0-D` ou` 1-D`. O endereço (ou seja, host_name: porta) do servidor RPC. Se esse tensor tiver mais de 1 elemento, várias solicitações rpc paralelas serão enviadas. Este argumento difunde com `método` e` solicitação`.
método `0-D` ou` 1-D`. O endereço do método no servidor RPC. Se esse tensor tiver mais de 1 elemento, várias solicitações rpc paralelas serão enviadas. Este argumento difunde com `address` e` request`.
solicitação `0-D` ou` 1-D`. Strings proto serializadas: o argumento de solicitação rpc. Se esse tensor tiver mais de 1 elemento, várias solicitações rpc paralelas serão enviadas. Este argumento difunde com `endereço` e` método`.
opções carrega valores de atributos opcionais
Devoluções
  • uma nova instância de TryRpc

public static TryRpc.Options failFast (Boolean failFast)

Parâmetros
failFast `booleano`. Se `true` (padrão), então as falhas de conexão (ou seja, o servidor não responde imediatamente) causam uma falha de RPC.

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

Parâmetros
protocolo Protocolo RPC a ser usado. String vazia significa usar o protocolo padrão. As opções incluem 'grpc'.

Resposta public Output <String> ()

Mesma forma que `solicitação`. Strings proto serializadas: as respostas rpc.

public Output <Integer> statusCode ()

Mesma forma que `solicitação`. Os valores correspondem aos códigos enum do Status do tensorflow.

public Output <String> statusMessage ()

Mesma forma que `solicitação`. Os valores correspondem às mensagens de status retornadas das chamadas RPC.

public static TryRpc.Options timeoutInMs (Long timeoutInMs)

Parâmetros
timeoutInMs `int`. Se for `0` (padrão), então o kernel executará a solicitação RPC e somente atingirá o tempo limite se o prazo de RPC expirar ou a sessão expirar. Se este valor for maior do que `0`, então o op levantará uma exceção se o RPC demorar mais do que` timeout_in_ms`.