Попробуйте Rpc

публичный финальный класс 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

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

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

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

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

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

Фабричный метод для создания класса, обертывающего новую операцию 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».

ответ public Output <String> ()

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

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

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

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

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

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

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