aboutsummaryrefslogtreecommitdiffhomepage
path: root/examples/python
diff options
context:
space:
mode:
authorGravatar Muxi Yan <muxi@users.noreply.github.com>2018-10-25 15:43:09 -0700
committerGravatar GitHub <noreply@github.com>2018-10-25 15:43:09 -0700
commitc88e509ba6510c3bc24de55662e5ee0cba718f98 (patch)
tree44a60388b8cfcab3ab46d890ee1b90625ac6e1fd /examples/python
parenta8a7c2bdd10eb7dc9e072327da2ddb70e5785cf7 (diff)
parent08ef3bca1a10cb3ee46aa2037fe412c75407a067 (diff)
Merge branch 'master' into config-isolation
Diffstat (limited to 'examples/python')
-rw-r--r--examples/python/helloworld/greeter_client_with_options.py44
1 files changed, 44 insertions, 0 deletions
diff --git a/examples/python/helloworld/greeter_client_with_options.py b/examples/python/helloworld/greeter_client_with_options.py
new file mode 100644
index 0000000000..7eda8c9066
--- /dev/null
+++ b/examples/python/helloworld/greeter_client_with_options.py
@@ -0,0 +1,44 @@
+# Copyright 2018 gRPC authors.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+"""The Python implementation of the GRPC helloworld.Greeter client with channel options and call timeout parameters."""
+
+from __future__ import print_function
+
+import grpc
+
+import helloworld_pb2
+import helloworld_pb2_grpc
+
+
+def run():
+ # NOTE(gRPC Python Team): .close() is possible on a channel and should be
+ # used in circumstances in which the with statement does not fit the needs
+ # of the code.
+ #
+ # For more channel options, please see https://grpc.io/grpc/core/group__grpc__arg__keys.html
+ with grpc.insecure_channel(
+ target='localhost:50051',
+ options=[('grpc.lb_policy_name', 'pick_first'),
+ ('grpc.enable_retries', 0), ('grpc.keepalive_timeout_ms',
+ 10000)]) as channel:
+ stub = helloworld_pb2_grpc.GreeterStub(channel)
+ # Timeout in seconds.
+ # Please refer gRPC Python documents for more detail. https://grpc.io/grpc/python/grpc.html
+ response = stub.SayHello(
+ helloworld_pb2.HelloRequest(name='you'), timeout=10)
+ print("Greeter client received: " + response.message)
+
+
+if __name__ == '__main__':
+ run()