TryRpc

공개 최종 클래스 TryRpc

RPC 요청 일괄 처리를 수행합니다.

이 작업은 단일 RPC 요청 또는 요청 일괄 처리를 비동기식으로 수행합니다. RPC 요청은 세 가지 주요 매개변수로 정의됩니다.

- `address`(요청의 호스트+포트 또는 BNS 주소) - `method`(요청의 메서드 이름) - `request`(RPC 요청 인수의 직렬화된 프로토 문자열 또는 문자열 벡터).

예를 들어, localhost:2345 포트에서 실행되는 RPC 서비스가 있고 해당 인터페이스가 다음 proto 선언으로 구성된 경우:

service MyService {
   rpc MyMethod(MyRequestProto) returns (MyResponseProto) {
   
 };
 }
그런 다음 인수를 사용하여 이 작업을 호출합니다:
address = "localhost:2345"
 method = "MyService/MyMethod"
 
`request` 텐서는 다음을 나타내는 문자열 텐서입니다. 직렬화된 `MyRequestProto` 문자열; 출력 문자열 텐서 `response`는 동일한 모양을 가지며 (성공적으로 완료되면) 해당 직렬화된 `MyResponseProto` 문자열을 포함합니다.

예를 들어 비어 있는 단일 `MyRequestProto`를 보내려면 `request = ""`를 사용하여 이 작업을 호출하세요. 5개의 병렬 빈 요청을 보내려면 `request = ["", "", "", "", ""]`를 사용하여 이 작업을 호출합니다.

더 일반적으로는 `encode_proto` 작업을 사용하여 일반 배치 텐서에서 `MyRequestProto` 직렬화된 proto 배치를 생성하고 `decode_proto` 작업을 사용하여 응답 `MyResponseProto` 직렬화된 proto를 배치 텐서로 변환할 수 있습니다.

참고 직렬화된 proto 문자열로 작업하는 것은 메모리에서 실제 proto 개체를 인스턴스화하는 것보다 빠르므로 이 워크플로에 대한 사용자 정의 커널을 작성하는 것과 비교해 성능 저하가 예상되지 않습니다.

표준 `Rpc` 작업과 달리 연결이 실패하거나 원격 작업자가 오류 상태를 반환하는 경우 이 작업은 예외를 다시 발생시키지 않습니다 . 대신 해당 RPC 호출에 대한 'status_code' 및 'status_message' 항목은 RPC 호출에서 반환된 오류로 설정됩니다. '응답' 텐서는 RPC가 실패하지 않은 미니배치 항목에 대한 유효한 응답 값을 포함합니다. 나머지 항목에는 빈 문자열이 있습니다.

중첩 클래스

수업 TryRpc.Options TryRpc 의 선택적 속성

공개 방법

정적 TryRpc
생성 ( 범위 범위, 피연산자 <String> 주소, 피연산자 <문자열> 메서드, 피연산자 <문자열> 요청, 옵션... 옵션)
새로운 TryRpc 작업을 래핑하는 클래스를 생성하는 팩토리 메서드입니다.
정적 TryRpc.Options
실패Fast (부울 실패Fast)
정적 TryRpc.Options
프로토콜 (문자열 프로토콜)
출력 <문자열>
응답 ()
`요청`과 같은 모양입니다.
출력 <정수>
상태코드 ()
`요청`과 같은 모양입니다.
출력 <문자열>
상태메시지 ()
`요청`과 같은 모양입니다.
정적 TryRpc.Options
timeoutInMs (긴 timeoutInMs)

상속된 메서드

공개 방법

public static TryRpc create ( 범위 범위, Operand <String> 주소, Operand <String> 메서드, Operand <String> 요청, Options... 옵션)

새로운 TryRpc 작업을 래핑하는 클래스를 생성하는 팩토리 메서드입니다.

매개변수
범위 현재 범위
주소 '0-D' 또는 '1-D'. RPC 서버의 주소(예: 호스트 이름:포트)입니다. 이 텐서에 요소가 2개 이상 있으면 여러 개의 병렬 rpc 요청이 전송됩니다. 이 인수는 'method' 및 'request'로 브로드캐스트됩니다.
방법 '0-D' 또는 '1-D'. RPC 서버의 메서드 주소입니다. 이 텐서에 요소가 2개 이상 있으면 여러 개의 병렬 rpc 요청이 전송됩니다. 이 인수는 '주소' 및 '요청'으로 브로드캐스트됩니다.
요구 '0-D' 또는 '1-D'. 직렬화된 proto 문자열: rpc 요청 인수. 이 텐서에 요소가 2개 이상 있으면 여러 개의 병렬 rpc 요청이 전송됩니다. 이 인수는 `address`와 `method`를 사용하여 브로드캐스트됩니다.
옵션 선택적 속성 값을 전달합니다.
보고
  • TryRpc의 새 인스턴스

공개 정적 TryRpc.Options 실패Fast (부울 실패Fast)

매개변수
실패빠름 '부울'. 'true'(기본값)인 경우 연결 실패(즉, 서버가 즉시 응답하지 않음)로 인해 RPC 오류가 발생합니다.

공개 정적 TryRpc.Options 프로토콜 (문자열 프로토콜)

매개변수
규약 사용할 RPC 프로토콜입니다. 빈 문자열은 기본 프로토콜을 사용한다는 의미입니다. 옵션에는 'grpc'가 포함됩니다.

공개 출력 <String> 응답 ()

`요청`과 같은 모양입니다. 직렬화된 proto 문자열: rpc 응답.

공개 출력 <Integer> statusCode ()

`요청`과 같은 모양입니다. 값은 tensorflow 상태 열거 코드에 해당합니다.

공개 출력 <String> statusMessage ()

`요청`과 같은 모양입니다. 값은 RPC 호출에서 반환된 상태 메시지에 해당합니다.

공개 정적 TryRpc.Options timeoutInMs (긴 timeoutInMs)

매개변수
시간 초과(Ms) 'int'. '0'(기본값)이면 커널은 RPC 요청을 실행하고 RPC 기한이 지났거나 세션 시간이 초과된 경우에만 시간 초과됩니다. 이 값이 '0'보다 크면 RPC가 'timeout_in_ms'보다 오래 걸리면 작업에서 예외가 발생합니다.