自 redis 升級,每次透過 capistrano 佈署後,連線 server 都會噴出 “Tried to use a connection from a child process without reconnecting. You need to reconnect to Redis after forking.” 的錯誤訊息。
原因在於 redis 的 client gem。
因此必須在每次 passenger restart 後,也讓 redis client 進行重啓。可參考以下,必須於 initializer 或 application.rb 中執行。
1 2 3 4 5 6 7 | |
除了 redis 之外,其他透過 redis 應用的 gem 也都會有類似的問題,例如 resque、redis-store、redis-object、sidekiq 等。