aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/ruby/qps
diff options
context:
space:
mode:
authorGravatar Alex Polcyn <apolcyn@google.com>2017-09-23 18:48:02 -0700
committerGravatar Alexander Polcyn <apolcyn@google.com>2017-11-27 20:29:19 -0800
commit81e9581bf380ceea2f5edaf6661c040c7fa81859 (patch)
tree223df963b74013e1cf27b711e0ee9454b153bd4b /src/ruby/qps
parenta1fbca0fa5e3c896a8f250aa1e1ffe2fedeec3a3 (diff)
Remove some sleeps in ruby tests and fix test server shutdown
Diffstat (limited to 'src/ruby/qps')
-rwxr-xr-xsrc/ruby/qps/worker.rb12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/ruby/qps/worker.rb b/src/ruby/qps/worker.rb
index 21e8815890..8258487418 100755
--- a/src/ruby/qps/worker.rb
+++ b/src/ruby/qps/worker.rb
@@ -77,8 +77,7 @@ class WorkerServiceImpl < Grpc::Testing::WorkerService::Service
Grpc::Testing::CoreResponse.new(cores: cpu_cores)
end
def quit_worker(_args, _call)
- Thread.new {
- sleep 3
+ @shutdown_thread = Thread.new {
@server.stop
}
Grpc::Testing::Void.new
@@ -87,6 +86,9 @@ class WorkerServiceImpl < Grpc::Testing::WorkerService::Service
@server = s
@server_port = sp
end
+ def join_shutdown_thread
+ @shutdown_thread.join
+ end
end
def main
@@ -107,11 +109,13 @@ def main
# Configure any errors with client or server child threads to surface
Thread.abort_on_exception = true
- s = GRPC::RpcServer.new
+ s = GRPC::RpcServer.new(poll_period: 3)
s.add_http2_port("0.0.0.0:" + options['driver_port'].to_s,
:this_port_is_insecure)
- s.handle(WorkerServiceImpl.new(s, options['server_port'].to_i))
+ worker_service = WorkerServiceImpl.new(s, options['server_port'].to_i)
+ s.handle(worker_service)
s.run
+ worker_service.join_shutdown_thread
end
main