mirror of https://github.com/grpc/grpc.git
The C based gRPC (C++, Python, Ruby, Objective-C, PHP, C#)
https://grpc.io/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
48 lines
1.4 KiB
48 lines
1.4 KiB
# 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 |
|
```
|
|
|