2017-09-07 2 views
2

에서 레디 스에서 탈퇴 다음 백 트레이스를 가진 SignalException: SIGTERM에 대해는 정상적으로 나는 레디 스 채널에 수신 루비 프로그램이 종료

/gems/hiredis-0.6.1/lib/hiredis/ext/connection.rb:19 in read 
/gems/hiredis-0.6.1/lib/hiredis/ext/connection.rb:19 in read 
/gems/redis-3.3.3/lib/redis/connection/hiredis.rb:54 in read 
/gems/redis-3.3.3/lib/redis/client.rb:262 in block in read 
/gems/redis-3.3.3/lib/redis/client.rb:250 in io 
/gems/redis-3.3.3/lib/redis/client.rb:261 in read 
/gems/redis-3.3.3/lib/redis/client.rb:136 in block (3 levels) in call_loop 
/gems/redis-3.3.3/lib/redis/client.rb:135 in loop 
/gems/redis-3.3.3/lib/redis/client.rb:135 in block (2 levels) in call_loop 
/gems/redis-3.3.3/lib/redis/client.rb:231 in block (2 levels) in process 
/gems/redis-3.3.3/lib/redis/client.rb:367 in ensure_connected 
/gems/redis-3.3.3/lib/redis/client.rb:221 in block in process 
/gems/redis-3.3.3/lib/redis/client.rb:306 in logging 
/gems/redis-3.3.3/lib/redis/client.rb:220 in process 
/gems/redis-3.3.3/lib/redis/client.rb:134 in block in call_loop 
/gems/redis-3.3.3/lib/redis/client.rb:280 in with_socket_timeout 
/gems/redis-3.3.3/lib/redis/client.rb:133 in call_loop 
/gems/redis-3.3.3/lib/redis/subscribe.rb:43 in subscription 
/gems/redis-3.3.3/lib/redis/subscribe.rb:12 in subscribe 
/gems/redis-3.3.3/lib/redis.rb:2765 in _subscription 
/gems/redis-3.3.3/lib/redis.rb:2143 in block in subscribe 
/gems/redis-3.3.3/lib/redis.rb:58 in block in synchronize 
/usr/lib/ruby/2.4.0/monitor.rb:214 in mon_synchronize 
/gems/redis-3.3.3/lib/redis.rb:58 in synchronize 
/gems/redis-3.3.3/lib/redis.rb:2142 in subscribe 

청취자 프로세스를 정상적으로 재시작하여 SIGTERM 오류를받지 못할 수 있습니까?

module Listener 
    class << self 
    def listen 
     trap('SIGTERM') { exit } 

     redis.subscribe "messaging" do |on| 
     on.message do |_, msg| 
      Notify.about(msg) 
     end 
     end 
    end 

    def redis 
     @redis ||= Redis.new(driver: :hiredis) 
    end 
    end 
end 
: 나는 문제가

지금 내 청취자 클래스는 다음과 같습니다

을 고정 trap('SIGTERM') { exit }을 추가 한 후

답변