2017-01-23 71 views
0

我有一個Sinatra應用程序連接到Cassandra羣集和Postgres。對於Cassandra Connection,我使用的是datastax cassandra-driver。作爲App服務器,我正在使用獨角獸。 這是我打開我的連接:紅寶石獨角獸 - 線程異常

configure do 
    enable :logging 
    set :show_exceptions, ((ENV['SHOW_EXCEPTIONS'] || 'true') == 'true') 
    cluster = Cassandra.cluster(
     username: ENV['CASSANDRA_USERNAME'], 
     password: ENV['CASSANDRA_PASSWORD'], 
     hosts: ENV['CASSANDRA_HOSTS'].split(',') 
) 
keyspace = 'YYXXXX' 
set :session, cluster.connect(keyspace) 

當地一切正常(與rackup作爲開發服務器),對生產,我得到致命 - 無實時線程離開。僵局? 你有什麼想法我的配置錯了嗎?

下面你可以看到我的堆棧跟蹤:

172.31.4.18, 35.156.240.164 - - [23/Jan/2017:20:23:41 +0000] "GET/ 
HTTP/1.0" 200 1744 0.0071 
46.105.28.183 - - [23/Jan/2017:20:23:45 +0000] "GET/HTTP/1.0" 200 1744 0.0066 
2017-01-23 20:23:46 - fatal - No live threads left. Deadlock?: 
/usr/local/lib/ruby/2.3.0/monitor.rb:111:in `sleep' 
/usr/local/lib/ruby/2.3.0/monitor.rb:111:in `wait' 
/usr/local/lib/ruby/2.3.0/monitor.rb:111:in `wait' 
/usr/local/bundle/gems/cassandra-driver-3.1.0/lib/cassandra/future.rb:616:in `block in get' 
/usr/local/lib/ruby/2.3.0/monitor.rb:214:in `mon_synchronize' 
/usr/local/bundle/gems/cassandra-driver-3.1.0/lib/cassandra/future.rb:607:in `get' 
/usr/local/bundle/gems/cassandra-driver-3.1.0/lib/cassandra/future.rb:396:in `get' 
/usr/local/bundle/gems/cassandra-driver-3.1.0/lib/cassandra/session.rb:123:in `execute' 
/code/voucher_cloud.rb:72:in `block in <class:VoucherCloud>' 
/usr/local/bundle/gems/sinatra-1.4.7/lib/sinatra/base.rb:1610:in `call' 
/usr/local/bundle/gems/sinatra-1.4.7/lib/sinatra/base.rb:1610:in `block in compile!' 
/usr/local/bundle/gems/sinatra-1.4.7/lib/sinatra/base.rb:975:in `block (3 levels) in route!' 
/usr/local/bundle/gems/sinatra-1.4.7/lib/sinatra/base.rb:994:in `route_eval' 
/usr/local/bundle/gems/sinatra-1.4.7/lib/sinatra/base.rb:975:in `block (2 levels) in route!' 
/usr/local/bundle/gems/sinatra-1.4.7/lib/sinatra/base.rb:1015:in `block in process_route' 
/usr/local/bundle/gems/sinatra-1.4.7/lib/sinatra/base.rb:1013:in `catch' 
/usr/local/bundle/gems/sinatra-1.4.7/lib/sinatra/base.rb:1013:in `process_route' 
/usr/local/bundle/gems/sinatra-1.4.7/lib/sinatra/base.rb:973:in `block in route!' 
/usr/local/bundle/gems/sinatra-1.4.7/lib/sinatra/base.rb:972:in `each' 
/usr/local/bundle/gems/sinatra-1.4.7/lib/sinatra/base.rb:972:in `route!' 
/usr/local/bundle/gems/sinatra-1.4.7/lib/sinatra/base.rb:1085:in `block in dispatch!' 
/usr/local/bundle/gems/sinatra-1.4.7/lib/sinatra/base.rb:1067:in `block in invoke' 
/usr/local/bundle/gems/sinatra-1.4.7/lib/sinatra/base.rb:1067:in `catch' 
/usr/local/bundle/gems/sinatra-1.4.7/lib/sinatra/base.rb:1067:in `invoke' 
/usr/local/bundle/gems/sinatra-1.4.7/lib/sinatra/base.rb:1082:in `dispatch!' 
/usr/local/bundle/gems/sinatra-1.4.7/lib/sinatra/base.rb:907:in `block in call!' 
/usr/local/bundle/gems/sinatra-1.4.7/lib/sinatra/base.rb:1067:in `block in invoke' 
/usr/local/bundle/gems/sinatra-1.4.7/lib/sinatra/base.rb:1067:in `catch' 
/usr/local/bundle/gems/sinatra-1.4.7/lib/sinatra/base.rb:1067:in `invoke' 
/usr/local/bundle/gems/sinatra-1.4.7/lib/sinatra/base.rb:907:in `call!' 
/usr/local/bundle/gems/sinatra-1.4.7/lib/sinatra/base.rb:895:in `call' 
/usr/local/bundle/gems/rack-protection-1.5.3/lib/rack/protection/xss_header.rb:18:in `call' 
/usr/local/bundle/gems/rack-protection-1.5.3/lib/rack/protection/path_traversal.rb:16:in `call' 
/usr/local/bundle/gems/rack-protection-1.5.3/lib/rack/protection/json_csrf.rb:18:in `call' 
/usr/local/bundle/gems/rack-protection-1.5.3/lib/rack/protection/base.rb:49:in `call' 
/usr/local/bundle/gems/rack-protection-1.5.3/lib/rack/protection/base.rb:49:in `call' 
/usr/local/bundle/gems/rack-protection-1.5.3/lib/rack/protection/frame_options.rb:31:in `call' 
/usr/local/bundle/gems/rack-1.6.5/lib/rack/logger.rb:15:in `call' 
/usr/local/bundle/gems/sinatra-1.4.7/lib/sinatra/base.rb:212:in `call' 
/usr/local/bundle/gems/rack-1.6.5/lib/rack/head.rb:13:in `call' 
/usr/local/bundle/gems/sinatra-1.4.7/lib/sinatra/base.rb:182:in `call' 
/usr/local/bundle/gems/sinatra-1.4.7/lib/sinatra/base.rb:2013:in `call' 
/usr/local/bundle/gems/sinatra-1.4.7/lib/sinatra/base.rb:1487:in `block in call' 
/usr/local/bundle/gems/sinatra-1.4.7/lib/sinatra/base.rb:1787:in `synchronize' 
/usr/local/bundle/gems/sinatra-1.4.7/lib/sinatra/base.rb:1487:in `call' 
/usr/local/bundle/gems/rack-1.6.5/lib/rack/tempfile_reaper.rb:15:in `call' 
/usr/local/bundle/gems/rack-1.6.5/lib/rack/lint.rb:49:in `_call' 
/usr/local/bundle/gems/rack-1.6.5/lib/rack/lint.rb:37:in `call' 
/usr/local/bundle/gems/rack-1.6.5/lib/rack/showexceptions.rb:24:in `call' 
/usr/local/bundle/gems/rack-1.6.5/lib/rack/commonlogger.rb:33:in `call' 
/usr/local/bundle/gems/sinatra-1.4.7/lib/sinatra/base.rb:219:in `call' 
/usr/local/bundle/gems/rack-1.6.5/lib/rack/chunked.rb:54:in `call' 
/usr/local/bundle/gems/rack-1.6.5/lib/rack/content_length.rb:15:in `call' 
/usr/local/bundle/gems/unicorn-5.2.0/lib/unicorn/http_server.rb:562:in `process_client' 
/usr/local/bundle/gems/unicorn-5.2.0/lib/unicorn/http_server.rb:658:in `worker_loop' 
/usr/local/bundle/gems/unicorn-5.2.0/lib/unicorn/http_server.rb:508:in `spawn_missing_workers' 
/usr/local/bundle/gems/unicorn-5.2.0/lib/unicorn/http_server.rb:132:in `start' 
/usr/local/bundle/gems/unicorn-5.2.0/bin/unicorn:126:in `<top (required)>' 
/usr/local/bundle/bin/unicorn:22:in `load' 
/usr/local/bundle/bin/unicorn:22:in `<main>' 

回答