mirror of
https://github.com/php-win-ext/grpc.git
synced 2026-03-29 20:42:18 +02:00
* Add retry example for gRPC Python * Make sanity test happy && simplfy proto definition * Fix a grammer issue
49 lines
1.4 KiB
Markdown
49 lines
1.4 KiB
Markdown
# Retry Example in gRPC Python
|
|
|
|
## Prerequisite
|
|
|
|
* grpcio >= 1.39.0
|
|
* grpcio-tools >= 1.39.0
|
|
|
|
## Running the example
|
|
|
|
In terminal 1, start the flaky server:
|
|
|
|
```sh
|
|
python3 flaky_server.py
|
|
```
|
|
|
|
In terminal 2, start the retry clients:
|
|
|
|
```sh
|
|
python3 retry_client.py
|
|
# Or
|
|
python3 async_retry_client.py
|
|
```
|
|
|
|
## Expect results
|
|
|
|
The client RPC will succeed, even with server injecting multiple errors. Here is an example server log:
|
|
|
|
```sh
|
|
$ python3 flaky_server.py
|
|
INFO:root:Starting flaky server on [::]:50051
|
|
INFO:root:Injecting error to RPC from ipv6:[::1]:54471
|
|
INFO:root:Successfully responding to RPC from ipv6:[::1]:54473
|
|
INFO:root:Injecting error to RPC from ipv6:[::1]:54491
|
|
INFO:root:Injecting error to RPC from ipv6:[::1]:54581
|
|
INFO:root:Injecting error to RPC from ipv6:[::1]:54581
|
|
INFO:root:Injecting error to RPC from ipv6:[::1]:54581
|
|
INFO:root:Injecting error to RPC from ipv6:[::1]:54581
|
|
INFO:root:Successfully responding to RPC from ipv6:[::1]:54581
|
|
INFO:root:Injecting error to RPC from ipv6:[::1]:55474
|
|
INFO:root:Injecting error to RPC from ipv6:[::1]:55474
|
|
INFO:root:Injecting error to RPC from ipv6:[::1]:55474
|
|
INFO:root:Injecting error to RPC from ipv6:[::1]:55474
|
|
INFO:root:Successfully responding to RPC from ipv6:[::1]:55474
|
|
INFO:root:Injecting error to RPC from ipv6:[::1]:55533
|
|
INFO:root:Injecting error to RPC from ipv6:[::1]:55533
|
|
INFO:root:Injecting error to RPC from ipv6:[::1]:55533
|
|
INFO:root:Successfully responding to RPC from ipv6:[::1]:55533
|
|
```
|