Rpc'yi deneyin

genel final sınıfı TryRpc

Toplu RPC isteklerini gerçekleştirin.

Bu op, tek bir RPC isteğini veya bir grup isteği eşzamansız olarak gerçekleştirir. RPC istekleri üç ana parametreyle tanımlanır:

- "adres" (isteğin ana bilgisayar+bağlantı noktası veya BNS adresi) - "yöntem" (isteğin yöntem adı) - "istek" (RPC istek bağımsız değişkeninin serileştirilmiş proto dizesi veya dize vektörü).

Örneğin, localhost:2345 bağlantı noktasında çalışan bir RPC hizmetiniz varsa ve arayüzü aşağıdaki protokol bildirimiyle yapılandırılmışsa:

service MyService {
   rpc MyMethod(MyRequestProto) returns (MyResponseProto) {
   
 };
 }
bu işlemi argümanlarla çağırın:
address = "localhost:2345"
 method = "MyService/MyMethod"
 
'Request' tensörü, temsil eden bir dize tensörüdür. serileştirilmiş 'MyRequestProto' dizeleri; ve çıkış dizesi tensörü 'yanıt' aynı şekle sahip olacak ve (başarılı bir şekilde tamamlandıktan sonra) karşılık gelen serileştirilmiş 'MyResponseProto' dizelerini içerecektir.

Örneğin, tek, boş bir `MyRequestProto` göndermek için bu işlemi `request = ""` ile çağırın. 5 paralel boş istek göndermek için bu işlemi `request = ["", "", "", "", ""]` ile çağırın.

Daha genel olarak, "encode_proto" işlemi kullanılarak normal toplu tensörlerden "MyRequestProto" serileştirilmiş protolardan oluşan bir toplu oluşturulabilir ve "decode_proto" işlemi kullanılarak "MyResponseProto" serileştirilmiş proto yanıtı toplu tensörlere dönüştürülebilir.

NOT Serileştirilmiş protokol dizeleriyle çalışmak, bellekteki gerçek protokol nesnelerinin örneğini oluşturmaktan daha hızlıdır; dolayısıyla, bu iş akışı için özel çekirdekler yazmaya kıyasla herhangi bir performans düşüşü beklenmez.

Standart "Rpc" işleminden farklı olarak, bağlantı başarısız olursa veya uzaktaki çalışan bir hata durumu döndürürse bu işlem, istisnayı yeniden gündeme getirmez . Bunun yerine, karşılık gelen RPC çağrısına ilişkin "status_code" ve "status_message" girişi, RPC çağrısından döndürülen hatayla ayarlanır. 'Yanıt' tensörü, RPC'leri başarısız olan mini toplu girişler için geçerli yanıt değerlerini içerecektir; girişlerin geri kalanı boş dizelere sahip olacaktır.

İç İçe Sınıflar

sınıf TryRpc.Options TryRpc için isteğe bağlı özellikler

Genel Yöntemler

statik TryRpc
create ( Kapsam kapsamı, İşlenen <Dize> adresi, İşlenen <Dize> yöntemi, İşlenen <Dize> isteği, Seçenekler... seçenekleri)
Yeni bir TryRpc işlemini saran bir sınıf oluşturmaya yönelik fabrika yöntemi.
statik TryRpc.Options
failFast (Boolean failFast)
statik TryRpc.Options
protokol (Dize protokolü)
Çıkış <Dize>
cevap ()
'İstek' ile aynı şekil.
Çıkış <Tamsayı>
durum kodu ()
'İstek' ile aynı şekil.
Çıkış <Dize>
durum mesajı ()
'İstek' ile aynı şekil.
statik TryRpc.Options
timeoutInMs (Uzun timeoutInMs)

Kalıtsal Yöntemler

Genel Yöntemler

public static TryRpc create ( Kapsam kapsamı, İşlenen <Dize> adresi, İşlenen <Dize> yöntemi, İşlenen <Dize> isteği, Seçenekler... seçenekler)

Yeni bir TryRpc işlemini saran bir sınıf oluşturmaya yönelik fabrika yöntemi.

Parametreler
kapsam mevcut kapsam
adres '0-D' veya '1-D'. RPC sunucusunun adresi (yani ana bilgisayar_adı:bağlantı noktası). Bu tensörün 1'den fazla öğesi varsa birden çok paralel rpc isteği gönderilir. Bu argüman 'yöntem' ve 'istek' ile yayınlanır.
yöntem '0-D' veya '1-D'. RPC sunucusundaki yöntem adresi. Bu tensörün 1'den fazla öğesi varsa birden çok paralel rpc isteği gönderilir. Bu argüman 'adres' ve 'istek' ile yayınlanır.
rica etmek '0-D' veya '1-D'. Serileştirilmiş protokol dizeleri: rpc isteği bağımsız değişkeni. Bu tensörün 1'den fazla öğesi varsa birden çok paralel rpc isteği gönderilir. Bu argüman 'adres' ve 'yöntem' ile yayınlanır.
seçenekler isteğe bağlı nitelik değerlerini taşır
İadeler
  • TryRpc'nin yeni bir örneği

genel statik TryRpc.Options failFast (Boolean failFast)

Parametreler
başarısızHızlı "boolean". "Doğru" ise (varsayılan), bağlantı başarısızlıkları (yani sunucunun hemen yanıt vermemesi) bir RPC hatasına neden olur.

genel statik TryRpc.Options protokolü (Dize protokolü)

Parametreler
protokol Kullanılacak RPC protokolü. Boş dize, varsayılan protokolün kullanılması anlamına gelir. Seçenekler 'grpc'yi içerir.

genel Çıkış <Dize> yanıtı ()

'İstek' ile aynı şekil. Serileştirilmiş protokol dizeleri: rpc yanıtları.

genel Çıkış <Tamsayı> statusCode ()

'İstek' ile aynı şekil. Değerler tensorflow Durum numaralandırma kodlarına karşılık gelir.

public Output <String> statusMessage ()

'İstek' ile aynı şekil. Değerler, RPC çağrılarından döndürülen Durum iletilerine karşılık gelir.

public static TryRpc.Options timeoutInMs (Uzun timeoutInMs)

Parametreler
zaman aşımıInMs 'int'. '0' (varsayılan) ise, çekirdek RPC isteğini çalıştırır ve yalnızca RPC son tarihi geçtiğinde veya oturum zaman aşımına uğradığında zaman aşımına uğrar. Bu değer "0"dan büyükse, RPC "timeout_in_ms"den uzun sürerse operasyon bir istisna oluşturacaktır.