1

我在本地和服务器上安装了救援 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')

但这没有成功。我不明白为什么这在开发中有效但在生产中失败。

任何人都可以帮忙吗?

问候菲利克斯

4

0 回答 0