TryRpc

публичный финальный класс TryRpc

Выполнение пакетов запросов RPC.

Эта операция асинхронно выполняет либо один запрос RPC, либо пакет запросов. Запросы RPC определяются тремя основными параметрами:

- "адрес" (хост+порт или адрес BNS запроса) - "метод" (имя метода запроса) - "запрос" (сериализованная прото-строка или вектор строк аргумента запроса RPC).

Например, если у вас есть служба RPC, работающая на порту localhost:2345, и ее интерфейс настроен со следующим объявлением прототипа:

service MyService {
   rpc MyMethod(MyRequestProto) returns (MyResponseProto) {
   
 };
 }
, тогда вызовите эту операцию с аргументами:
address = "localhost:2345"
 method = "MyService/MyMethod"
 
Тензор `request` — это строковый тензор, представляющий сериализованные строки MyRequestProto; и тензор выходной строки `response` будет иметь ту же форму и содержать (после успешного завершения) соответствующие сериализованные строки `MyResponseProto`.

Например, чтобы отправить один пустой `MyRequestProto`, вызовите эту операцию с `request = ""`. Чтобы отправить 5 параллельных пустых запросов, вызовите эту операцию с `request = ["", "", "", "", ""]`.

В более общем смысле, можно создать пакет сериализованных прототипов MyRequestProto из обычных пакетных тензоров с помощью операции encode_proto и преобразовать сериализованные прототипы ответа MyResponseProto в пакетные тензоры с помощью операции decode_proto.

ПРИМЕЧАНИЕ. Работа с сериализованными строками прототипов выполняется быстрее, чем создание экземпляров реальных объектов прототипов в памяти, поэтому не ожидается снижения производительности по сравнению с написанием собственных ядер для этого рабочего процесса.

В отличие от стандартной операции Rpc, если соединение не установлено или удаленный работник возвращает статус ошибки, эта операция не вызывает повторное исключение. Вместо этого записи `status_code` и `status_message` для соответствующего вызова RPC устанавливаются с ошибкой, возвращаемой из вызова RPC. Тензор `response` будет содержать действительные значения ответа для тех записей мини-пакета, RPC которых не завершились сбоем; остальные записи будут иметь пустые строки.

Вложенные классы

сорт ПопробуйтеRpc.Options Дополнительные атрибуты для TryRpc

Константы

Нить OP_NAME Название этой операции, известное основному движку TensorFlow.

Публичные методы

статический TryRpc
create ( Область действия, Операнд < TString > адрес, Операнд < TString > метод, Операнд < TString > запрос, Параметры... параметры)
Фабричный метод для создания класса, обертывающего новую операцию TryRpc.
статический TryRpc.Options
FailFast (логическое значение FailFast)
статический TryRpc.Options
протокол (строковый протокол)
Вывод < TString >
ответ ()
Та же форма, что и «запрос».
Вывод < TInt32 >
кодстатуса ()
Та же форма, что и «запрос».
Вывод < TString >
статус ()
Та же форма, что и «запрос».
статический TryRpc.Options
timeoutInMs (Длинный таймаутInMs)

Унаследованные методы

Константы

общедоступная статическая финальная строка OP_NAME

Название этой операции, известное основному движку TensorFlow.

Постоянное значение: «ТриРпк».

Публичные методы

public static TryRpc create (область действия , адрес операнда < TString >, метод операнда < TString >, запрос операнда < TString >, параметры... параметры)

Фабричный метод для создания класса, обертывающего новую операцию TryRpc.

Параметры
объем текущий объем
адрес `0-D` или `1-D`. Адрес (т. е. имя_хоста:порт) сервера RPC. Если этот тензор имеет более 1 элемента, то отправляется несколько параллельных запросов RPC. Этот аргумент передается с помощью `method` и `request`.
метод `0-D` или `1-D`. Адрес метода на сервере RPC. Если этот тензор имеет более 1 элемента, то отправляется несколько параллельных запросов RPC. Этот аргумент передается с адресом и запросом.
запрос `0-D` или `1-D`. Сериализованные строки прототипа: аргумент запроса rpc. Если этот тензор имеет более 1 элемента, то отправляется несколько параллельных запросов RPC. Этот аргумент передается с адресом и методом.
параметры содержит значения необязательных атрибутов
Возврат
  • новый экземпляр TryRpc

общедоступный статический TryRpc.Options FailFast (логическое значение FailFast)

Параметры
неудачный быстрый `логическое`. Если true (по умолчанию), то сбои подключения (т. е. сервер не отвечает немедленно) приводят к сбою RPC.

общедоступный статический протокол TryRpc.Options (строковый протокол)

Параметры
протокол Используемый протокол RPC. Пустая строка означает использование протокола по умолчанию. Опции включают «grpc».

публичный вывод < TString > ответ ()

Та же форма, что и «запрос». Сериализованные прото-строки: ответы RPC.

публичный вывод <TInt32> statusCode ()

Та же форма, что и «запрос». Значения соответствуют кодам перечисления статуса тензорного потока.

публичный вывод < TString > statusMessage ()

Та же форма, что и «запрос». Значения соответствуют сообщениям о состоянии, возвращаемым вызовами RPC.

общедоступный статический TryRpc.Options timeoutInMs (Long timeoutInMs)

Параметры
таймаутИнМс `инт`. Если `0` (по умолчанию), ядро ​​выполнит запрос RPC и истечет по времени только в том случае, если истекает крайний срок RPC или истекает время сеанса. Если это значение больше «0», то операция вызовет исключение, если RPC займет больше времени, чем «timeout_in_ms».