Skip to content

Instantly share code, notes, and snippets.

@ganmacs
Created August 28, 2018 07:11
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ganmacs/c7620111d25bef8081ce7b16d1d4e2b8 to your computer and use it in GitHub Desktop.
Save ganmacs/c7620111d25bef8081ce7b16d1d4e2b8 to your computer and use it in GitHub Desktop.
$ be ruby client.rb
D, [2018-08-28T16:08:20.263617 #48268] DEBUG -- : calling 127.0.0.1:8000:/grpc.health.v1.Health/Check
D, [2018-08-28T16:08:20.264355 #48268] DEBUG -- : Failing with status #<struct Struct::Status code=4, details="Deadline Exceeded", metadata={}>
#<GRPC::DeadlineExceeded: 4:Deadline Exceeded>
D, [2018-08-28T16:08:20.264596 #48268] DEBUG -- : calling 127.0.0.1:8000:/grpc.health.v1.Health/Check
D, [2018-08-28T16:08:20.265544 #48268] DEBUG -- : Failing with status #<struct Struct::Status code=4, details="Deadline Exceeded", metadata={}>
#<GRPC::DeadlineExceeded: 4:Deadline Exceeded>
D, [2018-08-28T16:08:20.265779 #48268] DEBUG -- : calling 127.0.0.1:8000:/grpc.health.v1.Health/Check
D, [2018-08-28T16:08:20.266243 #48268] DEBUG -- : Failing with status #<struct Struct::Status code=4, details="Deadline Exceeded", metadata={}>
#<GRPC::DeadlineExceeded: 4:Deadline Exceeded>
D, [2018-08-28T16:08:20.266409 #48268] DEBUG -- : calling 127.0.0.1:8000:/grpc.health.v1.Health/Check
D, [2018-08-28T16:08:20.267191 #48268] DEBUG -- : Failing with status #<struct Struct::Status code=4, details="Deadline Exceeded", metadata={}>
#<GRPC::DeadlineExceeded: 4:Deadline Exceeded>
D, [2018-08-28T16:08:20.267839 #48268] DEBUG -- : calling 127.0.0.1:8000:/grpc.health.v1.Health/Check
D, [2018-08-28T16:08:20.268283 #48268] DEBUG -- : Failing with status #<struct Struct::Status code=4, details="Deadline Exceeded", metadata={}>
#<GRPC::DeadlineExceeded: 4:Deadline Exceeded>
D, [2018-08-28T16:08:20.268545 #48268] DEBUG -- : calling 127.0.0.1:8000:/grpc.health.v1.Health/Check
D, [2018-08-28T16:08:20.269053 #48268] DEBUG -- : Failing with status #<struct Struct::Status code=4, details="Deadline Exceeded", metadata={}>
#<GRPC::DeadlineExceeded: 4:Deadline Exceeded>
D, [2018-08-28T16:08:20.269242 #48268] DEBUG -- : calling 127.0.0.1:8000:/grpc.health.v1.Health/Check
D, [2018-08-28T16:08:20.270350 #48268] DEBUG -- : Failing with status #<struct Struct::Status code=4, details="Deadline Exceeded", metadata={}>
#<GRPC::DeadlineExceeded: 4:Deadline Exceeded>
D, [2018-08-28T16:08:20.270624 #48268] DEBUG -- : calling 127.0.0.1:8000:/grpc.health.v1.Health/Check
D, [2018-08-28T16:08:20.272264 #48268] DEBUG -- : Failing with status #<struct Struct::Status code=4, details="Deadline Exceeded", metadata={}>
#<GRPC::DeadlineExceeded: 4:Deadline Exceeded>
D, [2018-08-28T16:08:20.272517 #48268] DEBUG -- : calling 127.0.0.1:8000:/grpc.health.v1.Health/Check
D, [2018-08-28T16:08:20.273504 #48268] DEBUG -- : Failing with status #<struct Struct::Status code=4, details="Deadline Exceeded", metadata={}>
#<GRPC::DeadlineExceeded: 4:Deadline Exceeded>
D, [2018-08-28T16:08:20.273896 #48268] DEBUG -- : calling 127.0.0.1:8000:/grpc.health.v1.Health/Check
D, [2018-08-28T16:08:20.274343 #48268] DEBUG -- : Failing with status #<struct Struct::Status code=4, details="Deadline Exceeded", metadata={}>
#<GRPC::DeadlineExceeded: 4:Deadline Exceeded>
D, [2018-08-28T16:08:20.274654 #48268] DEBUG -- : calling 127.0.0.1:8000:/grpc.health.v1.Health/Check
D, [2018-08-28T16:08:20.275232 #48268] DEBUG -- : Failing with status #<struct Struct::Status code=4, details="Deadline Exceeded", metadata={}>
#<GRPC::DeadlineExceeded: 4:Deadline Exceeded>
D, [2018-08-28T16:08:20.275476 #48268] DEBUG -- : calling 127.0.0.1:8000:/grpc.health.v1.Health/Check
D, [2018-08-28T16:08:20.276148 #48268] DEBUG -- : Failing with status #<struct Struct::Status code=4, details="Deadline Exceeded", metadata={}>
#<GRPC::DeadlineExceeded: 4:Deadline Exceeded>
D, [2018-08-28T16:08:20.276342 #48268] DEBUG -- : calling 127.0.0.1:8000:/grpc.health.v1.Health/Check
D, [2018-08-28T16:08:20.277229 #48268] DEBUG -- : calling 127.0.0.1:8000:/grpc.health.v1.Health/Check
D, [2018-08-28T16:08:20.277959 #48268] DEBUG -- : calling 127.0.0.1:8000:/grpc.health.v1.Health/Check
D, [2018-08-28T16:08:20.278227 #48268] DEBUG -- : Failing with status #<struct Struct::Status code=4, details="Deadline Exceeded", metadata={}>
#<GRPC::DeadlineExceeded: 4:Deadline Exceeded>
D, [2018-08-28T16:08:20.278411 #48268] DEBUG -- : calling 127.0.0.1:8000:/grpc.health.v1.Health/Check
D, [2018-08-28T16:08:20.279254 #48268] DEBUG -- : Failing with status #<struct Struct::Status code=4, details="Deadline Exceeded", metadata={}>
#<GRPC::DeadlineExceeded: 4:Deadline Exceeded>
D, [2018-08-28T16:08:20.280552 #48268] DEBUG -- : calling 127.0.0.1:8000:/grpc.health.v1.Health/Check
D, [2018-08-28T16:08:20.281400 #48268] DEBUG -- : Failing with status #<struct Struct::Status code=4, details="Deadline Exceeded", metadata={}>
#<GRPC::DeadlineExceeded: 4:Deadline Exceeded>
D, [2018-08-28T16:08:20.281924 #48268] DEBUG -- : calling 127.0.0.1:8000:/grpc.health.v1.Health/Check
D, [2018-08-28T16:08:20.282341 #48268] DEBUG -- : Failing with status #<struct Struct::Status code=4, details="Deadline Exceeded", metadata={}>
#<GRPC::DeadlineExceeded: 4:Deadline Exceeded>
D, [2018-08-28T16:08:20.282768 #48268] DEBUG -- : calling 127.0.0.1:8000:/grpc.health.v1.Health/Check
D, [2018-08-28T16:08:20.283215 #48268] DEBUG -- : Failing with status #<struct Struct::Status code=4, details="Deadline Exceeded", metadata={}>
#<GRPC::DeadlineExceeded: 4:Deadline Exceeded>
D, [2018-08-28T16:08:20.283657 #48268] DEBUG -- : calling 127.0.0.1:8000:/grpc.health.v1.Health/Check
D, [2018-08-28T16:08:20.284428 #48268] DEBUG -- : Failing with status #<struct Struct::Status code=4, details="Deadline Exceeded", metadata={}>
#<GRPC::DeadlineExceeded: 4:Deadline Exceeded>
18
require 'logger'
require 'grpc'
require 'grpc/health/checker'
module RubyLogger
def logger
Logger.new(STDOUT, level: :debug)
end
end
GRPC.extend(RubyLogger)
count = 0
20.times do
begin
stub = Grpc::Health::V1::Health::Stub.new('127.0.0.1:8000', :this_channel_is_insecure)
stub.check(Grpc::Health::V1::HealthCheckRequest.new(service: 'test-app'), deadline: Time.now.to_f + 0)
rescue => e
p e
count += 1
end
end
p count
$ be ruby server.rb
I, [2018-08-28T16:08:16.449065 #48201] INFO -- : handling /grpc.health.v1.Health/Check with #<Method: Grpc::Health::Checker#check>
"ready_workers=5,worker_size=5"
I, [2018-08-28T16:08:17.905975 #48201] INFO -- : deadline is 2018-08-28 16:08:17 +0900; (now=2018-08-28 16:08:17 +0900)
I, [2018-08-28T16:08:17.906300 #48201] INFO -- : schedule another job
I, [2018-08-28T16:08:17.906840 #48201] INFO -- : deadline is 2018-08-28 16:08:17 +0900; (now=2018-08-28 16:08:17 +0900)
W, [2018-08-28T16:08:17.906671 #48201] WARN -- : failed call: #<GRPC::ActiveCall:0x00007ffedaa4c988>
call#run_batch failed somehow
I, [2018-08-28T16:08:17.906953 #48201] INFO -- : schedule another job
W, [2018-08-28T16:08:17.907256 #48201] WARN -- : failed call: #<GRPC::ActiveCall:0x00007ffee00c78f8>
call#run_batch failed somehow
I, [2018-08-28T16:08:17.907797 #48201] INFO -- : deadline is 2018-08-28 16:08:17 +0900; (now=2018-08-28 16:08:17 +0900)
I, [2018-08-28T16:08:17.907877 #48201] INFO -- : schedule another job
W, [2018-08-28T16:08:17.908055 #48201] WARN -- : failed call: #<GRPC::ActiveCall:0x00007ffee00c6638>
call#run_batch failed somehow
I, [2018-08-28T16:08:17.908583 #48201] INFO -- : deadline is 2018-08-28 16:08:17 +0900; (now=2018-08-28 16:08:17 +0900)
I, [2018-08-28T16:08:17.908681 #48201] INFO -- : schedule another job
"test-app"
I, [2018-08-28T16:08:17.909554 #48201] INFO -- : deadline is 2018-08-28 16:08:17 +0900; (now=2018-08-28 16:08:17 +0900)
I, [2018-08-28T16:08:17.909626 #48201] INFO -- : schedule another job
"test-app"
I, [2018-08-28T16:08:17.912511 #48201] INFO -- : deadline is 2018-08-28 16:08:17 +0900; (now=2018-08-28 16:08:17 +0900)
I, [2018-08-28T16:08:17.912605 #48201] INFO -- : schedule another job
"test-app"
I, [2018-08-28T16:08:17.913260 #48201] INFO -- : deadline is 2018-08-28 16:08:17 +0900; (now=2018-08-28 16:08:17 +0900)
I, [2018-08-28T16:08:17.913351 #48201] INFO -- : schedule another job
"test-app"
I, [2018-08-28T16:08:17.914266 #48201] INFO -- : deadline is 2018-08-28 16:08:17 +0900; (now=2018-08-28 16:08:17 +0900)
I, [2018-08-28T16:08:17.914379 #48201] INFO -- : schedule another job
"test-app"
I, [2018-08-28T16:08:17.914793 #48201] INFO -- : deadline is 2018-08-28 16:08:17 +0900; (now=2018-08-28 16:08:17 +0900)
I, [2018-08-28T16:08:17.914863 #48201] INFO -- : schedule another job
W, [2018-08-28T16:08:17.915042 #48201] WARN -- : failed call: #<GRPC::ActiveCall:0x00007ffedaa47a00>
call#run_batch failed somehow
I, [2018-08-28T16:08:17.915617 #48201] INFO -- : deadline is 2018-08-28 16:08:17 +0900; (now=2018-08-28 16:08:17 +0900)
I, [2018-08-28T16:08:17.915690 #48201] INFO -- : schedule another job
"test-app"
I, [2018-08-28T16:08:17.916694 #48201] INFO -- : deadline is 2018-08-28 16:08:17 +0900; (now=2018-08-28 16:08:17 +0900)
I, [2018-08-28T16:08:17.916791 #48201] INFO -- : schedule another job
W, [2018-08-28T16:08:17.917044 #48201] WARN -- : failed call: #<GRPC::ActiveCall:0x00007ffedaa449e0>
call#run_batch failed somehow
I, [2018-08-28T16:08:17.917657 #48201] INFO -- : deadline is 2018-08-28 16:08:17 +0900; (now=2018-08-28 16:08:17 +0900)
I, [2018-08-28T16:08:17.917726 #48201] INFO -- : schedule another job
"test-app"
I, [2018-08-28T16:08:17.918589 #48201] INFO -- : deadline is 2018-08-28 16:08:17 +0900; (now=2018-08-28 16:08:17 +0900)
I, [2018-08-28T16:08:17.918675 #48201] INFO -- : schedule another job
"test-app"
I, [2018-08-28T16:08:17.919457 #48201] INFO -- : deadline is 2018-08-28 16:08:17 +0900; (now=2018-08-28 16:08:17 +0900)
I, [2018-08-28T16:08:17.919523 #48201] INFO -- : schedule another job
"test-app"
I, [2018-08-28T16:08:17.920260 #48201] INFO -- : deadline is 2018-08-28 16:08:17 +0900; (now=2018-08-28 16:08:17 +0900)
I, [2018-08-28T16:08:17.920334 #48201] INFO -- : schedule another job
"test-app"
I, [2018-08-28T16:08:17.921456 #48201] INFO -- : deadline is 2018-08-28 16:08:17 +0900; (now=2018-08-28 16:08:17 +0900)
I, [2018-08-28T16:08:17.921539 #48201] INFO -- : schedule another job
"test-app"
"ready_workers=5,worker_size=5"
"ready_workers=5,worker_size=5"
I, [2018-08-28T16:08:20.266300 #48201] INFO -- : deadline is 2018-08-28 16:08:20 +0900; (now=2018-08-28 16:08:20 +0900)
I, [2018-08-28T16:08:20.266398 #48201] INFO -- : schedule another job
D, [2018-08-28T16:08:20.266620 #48201] DEBUG -- : found nil; the final response has been sent
I, [2018-08-28T16:08:20.266778 #48201] INFO -- : deadline is 2018-08-28 16:08:20 +0900; (now=2018-08-28 16:08:20 +0900)
W, [2018-08-28T16:08:20.266827 #48201] WARN -- : failed handler: #<GRPC::ActiveCall:0x00007ffee00b5428>; sending status:UNKNOWN
I, [2018-08-28T16:08:20.266959 #48201] INFO -- : schedule another job
W, [2018-08-28T16:08:20.267043 #48201] WARN -- : undefined method `service' for nil:NilClass (NoMethodError)
server.rb:15:in `check'
/Users/yuta-iwama/src/github.com/ganmacs/zatsu/grpc-deadline/vendor/bundle/ruby/2.4.0/gems/grpc-1.14.1-universal-darwin/src/ruby/lib/grpc/generic/rpc_desc.rb:60:in `call'
/Users/yuta-iwama/src/github.com/ganmacs/zatsu/grpc-deadline/vendor/bundle/ruby/2.4.0/gems/grpc-1.14.1-universal-darwin/src/ruby/lib/grpc/generic/rpc_desc.rb:60:in `block in handle_request_response'
/Users/yuta-iwama/src/github.com/ganmacs/zatsu/grpc-deadline/vendor/bundle/ruby/2.4.0/gems/grpc-1.14.1-universal-darwin/src/ruby/lib/grpc/generic/interceptors.rb:170:in `intercept!'
/Users/yuta-iwama/src/github.com/ganmacs/zatsu/grpc-deadline/vendor/bundle/ruby/2.4.0/gems/grpc-1.14.1-universal-darwin/src/ruby/lib/grpc/generic/rpc_desc.rb:54:in `handle_request_response'
/Users/yuta-iwama/src/github.com/ganmacs/zatsu/grpc-deadline/vendor/bundle/ruby/2.4.0/gems/grpc-1.14.1-universal-darwin/src/ruby/lib/grpc/generic/rpc_desc.rb:122:in `run_server_method'
/Users/yuta-iwama/src/github.com/ganmacs/zatsu/grpc-deadline/vendor/bundle/ruby/2.4.0/gems/grpc-1.14.1-universal-darwin/src/ruby/lib/grpc/generic/rpc_server.rb:409:in `block in loop_handle_server_calls'
/Users/yuta-iwama/src/github.com/ganmacs/zatsu/grpc-deadline/vendor/bundle/ruby/2.4.0/gems/grpc-1.14.1-universal-darwin/src/ruby/lib/grpc/generic/rpc_server.rb:148:in `block in loop_execute_jobs'
/Users/yuta-iwama/src/github.com/ganmacs/zatsu/grpc-deadline/vendor/bundle/ruby/2.4.0/gems/grpc-1.14.1-universal-darwin/src/ruby/lib/grpc/generic/rpc_server.rb:145:in `loop'
/Users/yuta-iwama/src/github.com/ganmacs/zatsu/grpc-deadline/vendor/bundle/ruby/2.4.0/gems/grpc-1.14.1-universal-darwin/src/ruby/lib/grpc/generic/rpc_server.rb:145:in `loop_execute_jobs'
/Users/yuta-iwama/src/github.com/ganmacs/zatsu/grpc-deadline/vendor/bundle/ruby/2.4.0/gems/grpc-1.14.1-universal-darwin/src/ruby/lib/grpc/generic/rpc_server.rb:91:in `block (2 levels) in start'
/Users/yuta-iwama/src/github.com/ganmacs/zatsu/grpc-deadline/vendor/bundle/ruby/2.4.0/gems/grpc-1.14.1-universal-darwin/src/ruby/lib/grpc/generic/rpc_server.rb:90:in `catch'
/Users/yuta-iwama/src/github.com/ganmacs/zatsu/grpc-deadline/vendor/bundle/ruby/2.4.0/gems/grpc-1.14.1-universal-darwin/src/ruby/lib/grpc/generic/rpc_server.rb:90:in `block in start'
D, [2018-08-28T16:08:20.272326 #48201] DEBUG -- : Sending status 2:NoMethodError: undefined method `service' for nil:NilClass
#<Thread:0x00007ffedaa4d9c8@/Users/yuta-iwama/src/github.com/ganmacs/zatsu/grpc-deadline/vendor/bundle/ruby/2.4.0/gems/grpc-1.14.1-universal-darwin/src/ruby/lib/grpc/generic/rpc_server.rb:89 run> terminated with exception:
/Users/yuta-iwama/src/github.com/ganmacs/zatsu/grpc-deadline/vendor/bundle/ruby/2.4.0/gems/grpc-1.14.1-universal-darwin/src/ruby/lib/grpc/generic/active_call.rb:66:in `run_batch': call#run_batch failed somehow (GRPC::Core::CallError)
from /Users/yuta-iwama/src/github.com/ganmacs/zatsu/grpc-deadline/vendor/bundle/ruby/2.4.0/gems/grpc-1.14.1-universal-darwin/src/ruby/lib/grpc/generic/active_call.rb:66:in `client_invoke'
from /Users/yuta-iwama/src/github.com/ganmacs/zatsu/grpc-deadline/vendor/bundle/ruby/2.4.0/gems/grpc-1.14.1-universal-darwin/src/ruby/lib/grpc/generic/active_call.rb:124:in `block in send_initial_metadata'
from /Users/yuta-iwama/src/github.com/ganmacs/zatsu/grpc-deadline/vendor/bundle/ruby/2.4.0/gems/grpc-1.14.1-universal-darwin/src/ruby/lib/grpc/generic/active_call.rb:120:in `synchronize'
from /Users/yuta-iwama/src/github.com/ganmacs/zatsu/grpc-deadline/vendor/bundle/ruby/2.4.0/gems/grpc-1.14.1-universal-darwin/src/ruby/lib/grpc/generic/active_call.rb:120:in `send_initial_metadata'
from /Users/yuta-iwama/src/github.com/ganmacs/zatsu/grpc-deadline/vendor/bundle/ruby/2.4.0/gems/grpc-1.14.1-universal-darwin/src/ruby/lib/grpc/generic/active_call.rb:208:in `send_status'
from /Users/yuta-iwama/src/github.com/ganmacs/zatsu/grpc-deadline/vendor/bundle/ruby/2.4.0/gems/grpc-1.14.1-universal-darwin/src/ruby/lib/grpc/generic/rpc_desc.rb:198:in `send_status'
from /Users/yuta-iwama/src/github.com/ganmacs/zatsu/grpc-deadline/vendor/bundle/ruby/2.4.0/gems/grpc-1.14.1-universal-darwin/src/ruby/lib/grpc/generic/rpc_desc.rb:153:in `rescue in run_server_method'
from /Users/yuta-iwama/src/github.com/ganmacs/zatsu/grpc-deadline/vendor/bundle/ruby/2.4.0/gems/grpc-1.14.1-universal-darwin/src/ruby/lib/grpc/generic/rpc_desc.rb:117:in `run_server_method'
from /Users/yuta-iwama/src/github.com/ganmacs/zatsu/grpc-deadline/vendor/bundle/ruby/2.4.0/gems/grpc-1.14.1-universal-darwin/src/ruby/lib/grpc/generic/rpc_server.rb:409:in `block in loop_handle_server_calls'
from /Users/yuta-iwama/src/github.com/ganmacs/zatsu/grpc-deadline/vendor/bundle/ruby/2.4.0/gems/grpc-1.14.1-universal-darwin/src/ruby/lib/grpc/generic/rpc_server.rb:148:in `block in loop_execute_jobs'
from /Users/yuta-iwama/src/github.com/ganmacs/zatsu/grpc-deadline/vendor/bundle/ruby/2.4.0/gems/grpc-1.14.1-universal-darwin/src/ruby/lib/grpc/generic/rpc_server.rb:145:in `loop'
from /Users/yuta-iwama/src/github.com/ganmacs/zatsu/grpc-deadline/vendor/bundle/ruby/2.4.0/gems/grpc-1.14.1-universal-darwin/src/ruby/lib/grpc/generic/rpc_server.rb:145:in `loop_execute_jobs'
from /Users/yuta-iwama/src/github.com/ganmacs/zatsu/grpc-deadline/vendor/bundle/ruby/2.4.0/gems/grpc-1.14.1-universal-darwin/src/ruby/lib/grpc/generic/rpc_server.rb:91:in `block (2 levels) in start'
from /Users/yuta-iwama/src/github.com/ganmacs/zatsu/grpc-deadline/vendor/bundle/ruby/2.4.0/gems/grpc-1.14.1-universal-darwin/src/ruby/lib/grpc/generic/rpc_server.rb:90:in `catch'
from /Users/yuta-iwama/src/github.com/ganmacs/zatsu/grpc-deadline/vendor/bundle/ruby/2.4.0/gems/grpc-1.14.1-universal-darwin/src/ruby/lib/grpc/generic/rpc_server.rb:90:in `block in start'
W, [2018-08-28T16:08:20.268468 #48201] WARN -- : failed call: #<GRPC::ActiveCall:0x00007ffee00b6198>
call#run_batch failed somehow
I, [2018-08-28T16:08:20.268981 #48201] INFO -- : deadline is 2018-08-28 16:08:20 +0900; (now=2018-08-28 16:08:20 +0900)
I, [2018-08-28T16:08:20.273372 #48201] INFO -- : schedule another job
W, [2018-08-28T16:08:20.273652 #48201] WARN -- : failed call: #<GRPC::ActiveCall:0x00007ffedb09e908>
call#run_batch failed somehow
I, [2018-08-28T16:08:20.273835 #48201] INFO -- : deadline is 2018-08-28 16:08:20 +0900; (now=2018-08-28 16:08:20 +0900)
I, [2018-08-28T16:08:20.273923 #48201] INFO -- : schedule another job
I, [2018-08-28T16:08:20.274062 #48201] INFO -- : deadline is 2018-08-28 16:08:20 +0900; (now=2018-08-28 16:08:20 +0900)
I, [2018-08-28T16:08:20.274155 #48201] INFO -- : schedule another job
W, [2018-08-28T16:08:20.274454 #48201] WARN -- : failed call: #<GRPC::ActiveCall:0x00007ffedb09d1e8>
call#run_batch failed somehow
I, [2018-08-28T16:08:20.275200 #48201] INFO -- : deadline is 2018-08-28 16:08:20 +0900; (now=2018-08-28 16:08:20 +0900)
I, [2018-08-28T16:08:20.275285 #48201] INFO -- : schedule another job
"test-app"
W, [2018-08-28T16:08:20.275876 #48201] WARN -- : failed call: #<GRPC::ActiveCall:0x00007ffedb09c2e8>
call#run_batch failed somehow
I, [2018-08-28T16:08:20.276036 #48201] INFO -- : deadline is 2018-08-28 16:08:20 +0900; (now=2018-08-28 16:08:20 +0900)
I, [2018-08-28T16:08:20.276179 #48201] INFO -- : schedule another job
W, [2018-08-28T16:08:20.276326 #48201] WARN -- : failed call: #<GRPC::ActiveCall:0x00007ffedb095f60>
call#run_batch failed somehow
I, [2018-08-28T16:08:20.276685 #48201] INFO -- : deadline is 2018-08-28 16:08:20 +0900; (now=2018-08-28 16:08:20 +0900)
I, [2018-08-28T16:08:20.276756 #48201] INFO -- : schedule another job
"test-app"
I, [2018-08-28T16:08:20.277529 #48201] INFO -- : deadline is 2018-08-28 16:08:20 +0900; (now=2018-08-28 16:08:20 +0900)
I, [2018-08-28T16:08:20.277590 #48201] INFO -- : schedule another job
"test-app"
I, [2018-08-28T16:08:20.278718 #48201] INFO -- : deadline is 2018-08-28 16:08:20 +0900; (now=2018-08-28 16:08:20 +0900)
I, [2018-08-28T16:08:20.278800 #48201] INFO -- : schedule another job
W, [2018-08-28T16:08:20.280342 #48201] WARN -- : failed call: #<GRPC::ActiveCall:0x00007ffedb08ea80>
call#run_batch failed somehow
I, [2018-08-28T16:08:20.281590 #48201] INFO -- : deadline is 2018-08-28 16:08:20 +0900; (now=2018-08-28 16:08:20 +0900)
I, [2018-08-28T16:08:20.281794 #48201] INFO -- : schedule another job
W, [2018-08-28T16:08:20.282196 #48201] WARN -- : failed call: #<GRPC::ActiveCall:0x00007ffedb08db30>
call#run_batch failed somehow
I, [2018-08-28T16:08:20.284472 #48201] INFO -- : deadline is 2018-08-28 16:08:20 +0900; (now=2018-08-28 16:08:20 +0900)
I, [2018-08-28T16:08:20.284883 #48201] INFO -- : schedule another job
W, [2018-08-28T16:08:20.285608 #48201] WARN -- : failed call: #<GRPC::ActiveCall:0x00007ffedb08cb68>
call#run_batch failed somehow
"ready_workers=4,worker_size=5"
"ready_workers=4,worker_size=5"
"ready_workers=4,worker_size=5"
"ready_workers=4,worker_size=5"
"ready_workers=4,worker_size=5"
^Clog writing failed. can't be called from trap context
I, [2018-08-28T16:08:25.063788 #48201] INFO -- : Stopping... int
I, [2018-08-28T16:08:25.064461 #48201] INFO -- : stopping, will wait for all the workers to exit
I, [2018-08-28T16:08:25.064757 #48201] INFO -- : stopped: #<GRPC::RpcServer:0x00007ffedaa4eeb8>
"ready_workers=0,worker_size=1"
"ready_workers=0,worker_size=1"
"ready_workers=0,worker_size=1"
"ready_workers=0,worker_size=1"
"ready_workers=0,worker_size=1"
"ready_workers=0,worker_size=1"
"ready_workers=0,worker_size=1"
"ready_workers=0,worker_size=1"
"ready_workers=0,worker_size=1"
"ready_workers=0,worker_size=1"
"ready_workers=0,worker_size=1"
"ready_workers=0,worker_size=1"
"ready_workers=0,worker_size=1"
"ready_workers=0,worker_size=1"
"ready_workers=0,worker_size=1"
"ready_workers=0,worker_size=1"
"ready_workers=0,worker_size=1"
"ready_workers=0,worker_size=1"
"ready_workers=0,worker_size=1"
"ready_workers=0,worker_size=1"
"ready_workers=0,worker_size=1"
"ready_workers=0,worker_size=1"
"ready_workers=0,worker_size=1"
"ready_workers=0,worker_size=1"
"ready_workers=0,worker_size=1"
"ready_workers=0,worker_size=1"
"ready_workers=0,worker_size=1"
"ready_workers=0,worker_size=1"
"ready_workers=0,worker_size=1"
"ready_workers=0,worker_size=1"
I, [2018-08-28T16:08:55.067091 #48201] INFO -- : forcibly terminating 1 worker(s)
I, [2018-08-28T16:08:55.067248 #48201] INFO -- : stopped, all workers are shutdown
require 'logger'
require 'grpc/health/v1/health_services_pb'
module RubyLogger
def logger
Logger.new(STDOUT, level: :debug)
end
end
GRPC.extend(RubyLogger)
module Grpc
module Health
class Checker < V1::Health::Service
def check(req, _call)
p req.service
V1::HealthCheckResponse.new(status: V1::HealthCheckResponse::ServingStatus::SERVING)
end
end
end
end
s = GRPC::RpcServer.new(pool_size: 5)
s.add_http2_port('127.0.0.1:8000', :this_port_is_insecure)
s.handle(Grpc::Health::Checker.new)
finish = Queue.new
stop_server_thread = Thread.new do
reason = finish.pop
GRPC.logger.info("Stopping... #{reason}")
s.stop
end
trap('INT') do
GRPC.logger.info('Trapping SIGINT')
finish.push(:int)
end
trap('TERM') do
GRPC.logger.info('Trapping SIGTERM')
finish.push(:term)
end
s.run_till_terminated
stop_server_thread.join
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment