我在本地和服务器上安装了救援 1.22.0。为了能够捕获 MultiJson::DecodeErrors,我在 application.rb 中添加了以下内容:
config.middleware.swap ActionDispatch::ParamsParser, ::MyParamsParser
并将该类添加到我的 lib 文件夹中。在开发模式下,这工作正常,我可以从 DecodeErrors 中拯救出来,我可以使用以下方法启动一个工作人员:
QUEUE=* bundle exec rake environment resque:work
在我的服务器上的生产模式下,代码本身也可以正常工作,但是我的上帝进程无法再次启动工人。God启动worker后出现的错误:
QUEUE=* /usr/local/rvm/rubies/ruby-1.9.2-p320/bin/ruby /usr/local/rvm/gems/ruby-1.9.2-p320@global/bin/bundle exec rake -f /home/deployer/apps/kassomat/current/Rakefile environment resque:work
rake aborted!
No such middleware to insert before: ActionDispatch::ParamsParser
我试图修补我的 application.rb
config.middleware.swap ActionDispatch::ParamsParser, ::MyParamsParser if Object.const_defined?('ActionDispatch') && ActionDispatch.const_defined?('ParamsParser')
但这没有成功。我不明白为什么这在开发中有效但在生产中失败。
任何人都可以帮忙吗?
问候菲利克斯