SpróbujRpc

publiczna klasa końcowa TryRpc

Wykonuj partie żądań RPC.

Ta operacja asynchronicznie wykonuje pojedyncze żądanie RPC lub grupę żądań. Żądania RPC są definiowane przez trzy główne parametry:

- `adres` (host+port lub adres BNS żądania) - `method` (nazwa metody dla żądania) - `request` (serializowany ciąg proto lub wektor ciągów argumentu żądania RPC).

Na przykład, jeśli masz usługę RPC działającą na porcie localhost:2345, a jej interfejs jest skonfigurowany z następującą deklaracją proto:

service MyService {
   rpc MyMethod(MyRequestProto) returns (MyResponseProto) {
   
 };
 }
wywołaj tę operację z argumentami:
address = "localhost:2345"
 method = "MyService/MyMethod"
 
Tensor `żądania` jest tensorem łańcucha reprezentującym serializowane ciągi znaków `MyRequestProto`; a wynikowy tensor ciągu „odpowiedź” będzie miał ten sam kształt i będzie zawierał (po pomyślnym zakończeniu) odpowiednie serializowane ciągi „MyResponseProto”.

Na przykład, aby wysłać pojedyncze, puste `MyRequestProto`, wywołaj tę operację z `request = ""`. Aby wysłać 5 równoległych pustych żądań, wywołaj tę operację z `request = ["", "", "", "", ""]`.

Mówiąc bardziej ogólnie, można utworzyć partię serializowanych protosów `MyRequestProto` ze zwykłych tensorów wsadowych przy użyciu operacji `encode_proto` i przekonwertować serializowane proto odpowiedzi `MyResponseProto` na tensory wsadowe przy użyciu operacji `decode_proto`.

UWAGA Praca z serializowanymi ciągami proto jest szybsza niż tworzenie instancji rzeczywistych obiektów proto w pamięci, więc nie oczekuje się pogorszenia wydajności w porównaniu z pisaniem niestandardowych jąder dla tego przepływu pracy.

W przeciwieństwie do standardowej operacji `Rpc`, jeśli połączenie nie powiedzie się lub zdalny pracownik zwróci status błędu, ta operacja nie powoduje ponownego zgłoszenia wyjątku. Zamiast tego wpisy „kod_statusu” i „komunikat_statusu” dla odpowiedniego wywołania RPC są ustawiane z błędem zwracanym przez wywołanie RPC. Tensor „odpowiedzi” będzie zawierał prawidłowe wartości odpowiedzi dla tych wpisów minipartii, których wywołania RPC nie zawiodły; pozostałe wpisy będą miały puste ciągi.

Klasy zagnieżdżone

klasa Wypróbuj Opcje Rpc Opcjonalne atrybuty dla TryRpc

Metody publiczne

statyczny TryRpc
utwórz ( Zakres zakresu, adres argumentu <String>, metoda argumentu <String>, żądanie argumentu <String>, opcje ... )
Metoda fabryczna służąca do tworzenia klasy opakowującej nową operację TryRpc.
statyczne TryRpc.Options
FailFast (logiczna FailFast)
statyczne TryRpc.Options
protokół (protokół łańcuchowy)
Wyjście <Ciąg>
odpowiedź ()
Taki sam kształt jak „prośba”.
Wyjście <liczba całkowita>
Kod statusu ()
Taki sam kształt jak „prośba”.
Wyjście <Ciąg>
Komunikat o stanie ()
Taki sam kształt jak „prośba”.
statyczne TryRpc.Options
timeoutInMs (Długi limit czasuInMs)

Metody dziedziczone

Metody publiczne

public static TryRpc create (zakres zakresu , adres argumentu <String>, metoda argumentu <String>, żądanie argumentu <String>, opcje... opcje)

Metoda fabryczna służąca do tworzenia klasy opakowującej nową operację TryRpc.

Parametry
zakres aktualny zakres
adres „0-D” lub „1-D”. Adres (tj. nazwa_hosta:port) serwera RPC. Jeśli tensor ma więcej niż 1 element, wysyłanych jest wiele równoległych żądań RPC. Ten argument jest rozgłaszany z „metodą” i „żądaniem”.
metoda „0-D” lub „1-D”. Adres metody na serwerze RPC. Jeśli tensor ma więcej niż 1 element, wysyłanych jest wiele równoległych żądań RPC. Ten argument jest rozgłaszany z „adresem” i „żądaniem”.
wniosek „0-D” lub „1-D”. Serializowane ciągi proto: argument żądania RPC. Jeśli tensor ma więcej niż 1 element, wysyłanych jest wiele równoległych żądań RPC. Ten argument rozgłasza z „adresem” i „metodą”.
opcje przenosi opcjonalne wartości atrybutów
Zwroty
  • nowa instancja TryRpc

public static TryRpc.Options Fast (Boolean Fast)

Parametry
nieszybko „boolowski”. Jeśli „true” (domyślnie), awarie połączenia (tzn. serwer nie odpowiada natychmiast) powodują awarię RPC.

publiczny statyczny protokół TryRpc.Options (protokół String)

Parametry
protokół Protokół RPC, którego należy używać. Pusty ciąg oznacza użycie protokołu domyślnego. Opcje obejmują „grpc”.

publiczna odpowiedź wyjściowa <String> ()

Taki sam kształt jak „prośba”. Serializowane ciągi proto: odpowiedzi RPC.

publiczne wyjście <liczba całkowita> kod statusu ()

Taki sam kształt jak „prośba”. Wartości odpowiadają kodom wyliczeniowym stanu tensorflow.

publiczne wyjście <String> statusMessage ()

Taki sam kształt jak „prośba”. Wartości odpowiadają komunikatom o stanie zwróconym z wywołań RPC.

publiczny statyczny Limit czasu TryRpc.OptionsInMs (długi limit czasuInMs)

Parametry
limit czasuInMs `int`. Jeśli „0” (domyślnie), jądro uruchomi żądanie RPC i przekroczy limit czasu tylko wtedy, gdy upłynie termin RPC lub upłynie limit czasu sesji. Jeśli ta wartość jest większa niż „0”, operacja zgłosi wyjątek, jeśli RPC trwa dłużej niż „timeout_in_ms”.