unicornで複数プロセスをforkさせるようにしていると、
プロセスのfork直後にoctopusが以下のエラー吐いてたので対応調べてみました。
以下がエラー内容。
どうやらDBへの接続がうまくいってないようです。
一発目の実行時だけで、その後はエラー出ないのでfork直後にだけ起こるようです。
NoMethodError: undefined method `query' for nil:NilClass: SHOW FULL FIELDS FROM `mst_services`
config/unicorn.rbに以下を記述するとエラー出なくなりました。
after_fork do |server, worker| ActiveRecord::Base.connection_proxy.instance_variable_get(:@shards).each {|k,v| v.clear_reloadable_connections! } end
参考URL
https://github.com/tchandy/octopus/issues/59
0 件のコメント:
コメントを投稿