CobaRpc

kelas akhir publik TryRpc

Lakukan kumpulan permintaan RPC.

Operasi ini secara asinkron melakukan satu permintaan RPC, atau sekumpulan permintaan. Permintaan RPC ditentukan oleh tiga parameter utama:

- `address` (host+port atau alamat BNS dari permintaan) - `method` (nama metode untuk permintaan) - `request` (string proto serial, atau vektor string, dari argumen permintaan RPC).

Misalnya, jika Anda memiliki layanan RPC yang berjalan pada port localhost:2345, dan antarmukanya dikonfigurasi dengan deklarasi proto berikut:

service MyService {
   rpc MyMethod(MyRequestProto) returns (MyResponseProto) {
   
 };
 }
lalu panggil operasi ini dengan argumen:
address = "localhost:2345"
 method = "MyService/MyMethod"
 
Tensor `request` adalah tensor string yang mewakili string `MyRequestProto` berseri; dan tensor string keluaran `response` akan memiliki bentuk yang sama dan berisi (setelah berhasil diselesaikan) string `MyResponseProto` serial yang sesuai.

Misalnya, untuk mengirim `MyRequestProto` tunggal yang kosong, panggil operasi ini dengan `request = ""`. Untuk mengirim 5 permintaan kosong paralel , panggil operasi ini dengan `request = ["", "", "", "", ""]`.

Secara umum, seseorang dapat membuat sekumpulan proto berseri `MyRequestProto` dari tensor batch biasa menggunakan operasi `encode_proto`, dan mengonversi proto berseri `MyResponseProto` respons menjadi tensor berkelompok menggunakan operasi `decode_proto`.

CATATAN Bekerja dengan string proto serial lebih cepat daripada membuat instance objek proto sebenarnya di memori, sehingga diharapkan tidak ada penurunan kinerja dibandingkan dengan menulis kernel khusus untuk alur kerja ini.

Berbeda dengan operasi `Rpc` standar, jika koneksi gagal atau pekerja jarak jauh mengembalikan status kesalahan, operasi ini tidak memunculkan kembali pengecualian. Sebaliknya, entri `status_code` dan `status_message` untuk panggilan RPC terkait disetel dengan kesalahan yang dihasilkan dari panggilan RPC. Tensor `response` akan berisi nilai respons yang valid untuk entri minibatch yang RPC-nya tidak gagal; entri lainnya akan memiliki string kosong.

Kelas Bersarang

kelas CobaRpc.Options Atribut opsional untuk TryRpc

Metode Publik

TryRpc statis
buat ( Lingkup cakupan, alamat Operand <String>, Metode Operand <String>, permintaan Operand <String>, Opsi... opsi)
Metode pabrik untuk membuat kelas yang membungkus operasi TryRpc baru.
TryRpc.Options statis
failFast (Boolean failFast)
TryRpc.Options statis
protokol (protokol string)
Keluaran <String>
tanggapan ()
Bentuknya sama dengan `permintaan`.
Keluaran <Bilangan Bulat>
Kode status ()
Bentuknya sama dengan `permintaan`.
Keluaran <String>
pesan status ()
Bentuknya sama dengan `permintaan`.
TryRpc.Options statis
timeoutInMs (Waktu habisInMs yang lama)

Metode Warisan

Metode Publik

pembuatan TryRpc statis publik ( Lingkup cakupan, alamat <String> Operan , metode <String> Operan , permintaan Operan <String>, Opsi... opsi)

Metode pabrik untuk membuat kelas yang membungkus operasi TryRpc baru.

Parameter
cakupan ruang lingkup saat ini
alamat `0-D` atau `1-D`. Alamat (yaitu host_name:port) dari server RPC. Jika tensor ini memiliki lebih dari 1 elemen, maka beberapa permintaan rpc paralel akan dikirim. Argumen ini disiarkan dengan `metode` dan `permintaan`.
metode `0-D` atau `1-D`. Alamat metode di server RPC. Jika tensor ini memiliki lebih dari 1 elemen, maka beberapa permintaan rpc paralel akan dikirim. Argumen ini disiarkan dengan `alamat` dan `permintaan`.
meminta `0-D` atau `1-D`. String proto berseri: argumen permintaan rpc. Jika tensor ini memiliki lebih dari 1 elemen, maka beberapa permintaan rpc paralel akan dikirim. Argumen ini disiarkan dengan `alamat` dan `metode`.
pilihan membawa nilai atribut opsional
Kembali
  • contoh baru dari TryRpc

TryRpc.Options statis publik failFast (Boolean failFast)

Parameter
gagalcepat `boolean`. Jika `benar` (default), maka kegagalan koneksi (misalnya, server tidak segera merespons) menyebabkan kegagalan RPC.

protokol TryRpc.Options statis publik (protokol string)

Parameter
protokol Protokol RPC yang akan digunakan. String kosong berarti menggunakan protokol default. Opsinya termasuk 'grpc'.

tanggapan publik Output <String> ()

Bentuknya sama dengan `permintaan`. String proto berseri: respons rpc.

Output publik <Integer> statusCode ()

Bentuknya sama dengan `permintaan`. Nilai sesuai dengan kode enum Status tensorflow.

Keluaran publik <String> statusMessage ()

Bentuknya sama dengan `permintaan`. Nilai sesuai dengan pesan Status yang dikembalikan dari panggilan RPC.

public static TryRpc.Options timeoutInMs (Long timeoutInMs)

Parameter
batas waktuDalamMs `int`. Jika `0` (default), maka kernel akan menjalankan permintaan RPC dan hanya time out jika tenggat waktu RPC lewat atau sesi time out. Jika nilai ini lebih besar dari `0`, maka operasi akan memunculkan pengecualian jika RPC membutuhkan waktu lebih lama dari `timeout_in_ms`.