Выполнение пакетов запросов RPC.
Эта операция асинхронно выполняет либо один запрос RPC, либо пакет запросов. Запросы RPC определяются тремя основными параметрами:
- "адрес" (хост+порт или адрес BNS запроса) - "метод" (имя метода запроса) - "запрос" (сериализованная прото-строка или вектор строк аргумента запроса RPC).
Например, если у вас есть служба RPC, работающая на порту localhost:2345, и ее интерфейс настроен с использованием следующего объявления прототипа:
service MyService {
rpc MyMethod(MyRequestProto) returns (MyResponseProto) {
};
}address = "localhost:2345"
method = "MyService/MyMethod"
Например, чтобы отправить один пустой `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». |
|---|