简体   繁体   English

“未定义的方法`process_route'”在转发web ui时

[英]“undefined method `process_route'” when going to resque web ui

I just started getting this error when going to the Resque web ui on my server. 我刚刚在服务器上访问Resque web ui时遇到此错误。 It does not happen locally, and it did not happen before some recent app changes/upgrades I made. 它不会在本地发生,并且在我最近的一些应用程序更改/升级之前没有发生。 I made no changes to the server itself. 我没有对服务器本身进行任何更改。 I could start reverting back changelists to see where it broke, but I upgraded a lot of gems at once so I have a hunch it'll be quite tricky. 我可以开始恢复变更清单以查看它的破坏位置,但我立刻升级了很多宝石所以我有预感它会非常棘手。

So, any idea what would cause this or where it might be originating? 那么,任何想法会导致这个或它可能来自何处?

The path I'm going to is mydomain.com/app/resque 我要走的路是mydomain.com/app/resque

routes.rb 的routes.rb

scope :path => "/app" do
  mount Resque::Server.new, :at => '/resque'
end

NoMethodError (undefined method `process_route' for #<Resque::Server:0x00000005dc95b0>):
  newrelic_rpm (3.3.4.1) lib/new_relic/agent/instrumentation/sinatra.rb:38:in `block in dispatch_with_newrelic'
  newrelic_rpm (3.3.4.1) lib/new_relic/agent/instrumentation/sinatra.rb:62:in `block in transaction_name'
  newrelic_rpm (3.3.4.1) lib/new_relic/agent/instrumentation/sinatra.rb:61:in `each'
  newrelic_rpm (3.3.4.1) lib/new_relic/agent/instrumentation/sinatra.rb:61:in `transaction_name'
  newrelic_rpm (3.3.4.1) lib/new_relic/agent/instrumentation/sinatra.rb:37:in `dispatch_with_newrelic'
  sinatra (1.0) lib/sinatra/base.rb:411:in `block in call!'
  sinatra (1.0) lib/sinatra/base.rb:566:in `instance_eval'
  sinatra (1.0) lib/sinatra/base.rb:566:in `block in invoke'
  sinatra (1.0) lib/sinatra/base.rb:566:in `catch'
  sinatra (1.0) lib/sinatra/base.rb:566:in `invoke'
  sinatra (1.0) lib/sinatra/base.rb:411:in `call!'
  sinatra (1.0) lib/sinatra/base.rb:399:in `call'
  rack (1.4.1) lib/rack/auth/basic.rb:25:in `call'
  sinatra (1.0) lib/sinatra/base.rb:979:in `block in call'
  sinatra (1.0) lib/sinatra/base.rb:1005:in `synchronize'
  sinatra (1.0) lib/sinatra/base.rb:979:in `call'
  actionpack (3.2.1) lib/action_dispatch/routing/mapper.rb:40:in `call'
  journey (1.0.3) lib/journey/router.rb:68:in `block in call'
  journey (1.0.3) lib/journey/router.rb:56:in `each'
  journey (1.0.3) lib/journey/router.rb:56:in `call'
  actionpack (3.2.1) lib/action_dispatch/routing/route_set.rb:589:in `call'
  omniauth (1.1.0) lib/omniauth/strategy.rb:177:in `call!'
  omniauth (1.1.0) lib/omniauth/strategy.rb:157:in `call'
  omniauth (1.1.0) lib/omniauth/builder.rb:48:in `call'
  newrelic_rpm (3.3.4.1) lib/new_relic/rack/browser_monitoring.rb:23:in `call'
  airbrake (3.0.9) lib/airbrake/rack.rb:27:in `call'
  warden (1.1.1) lib/warden/manager.rb:35:in `block in call'
  warden (1.1.1) lib/warden/manager.rb:34:in `catch'
  warden (1.1.1) lib/warden/manager.rb:34:in `call'
  actionpack (3.2.1) lib/action_dispatch/middleware/best_standards_support.rb:17:in `call'
  rack (1.4.1) lib/rack/etag.rb:23:in `call'
  rack (1.4.1) lib/rack/conditionalget.rb:25:in `call'
  actionpack (3.2.1) lib/action_dispatch/middleware/head.rb:14:in `call'
  remotipart (1.0.2) lib/remotipart/middleware.rb:30:in `call'
  actionpack (3.2.1) lib/action_dispatch/middleware/params_parser.rb:21:in `call'
  actionpack (3.2.1) lib/action_dispatch/middleware/flash.rb:242:in `call'
  rack (1.4.1) lib/rack/session/abstract/id.rb:205:in `context'
  rack (1.4.1) lib/rack/session/abstract/id.rb:200:in `call'
  actionpack (3.2.1) lib/action_dispatch/middleware/cookies.rb:338:in `call'
  activerecord (3.2.1) lib/active_record/query_cache.rb:64:in `call'
  activerecord (3.2.1) lib/active_record/connection_adapters/abstract/connection_pool.rb:443:in `call'
  actionpack (3.2.1) lib/action_dispatch/middleware/callbacks.rb:28:in `block in call'
  activesupport (3.2.1) lib/active_support/callbacks.rb:405:in `_run__2652675143263662148__call__736553824066291236__callbacks'
  activesupport (3.2.1) lib/active_support/callbacks.rb:405:in `__run_callback'
  activesupport (3.2.1) lib/active_support/callbacks.rb:385:in `_run_call_callbacks'
  activesupport (3.2.1) lib/active_support/callbacks.rb:81:in `run_callbacks'
  actionpack (3.2.1) lib/action_dispatch/middleware/callbacks.rb:27:in `call'
  actionpack (3.2.1) lib/action_dispatch/middleware/remote_ip.rb:31:in `call'
  actionpack (3.2.1) lib/action_dispatch/middleware/debug_exceptions.rb:16:in `call'
  actionpack (3.2.1) lib/action_dispatch/middleware/show_exceptions.rb:56:in `call'
  railties (3.2.1) lib/rails/rack/logger.rb:26:in `call_app'
  railties (3.2.1) lib/rails/rack/logger.rb:16:in `call'
  actionpack (3.2.1) lib/action_dispatch/middleware/request_id.rb:22:in `call'
  rack (1.4.1) lib/rack/methodoverride.rb:21:in `call'
  rack (1.4.1) lib/rack/runtime.rb:17:in `call'
  rack (1.4.1) lib/rack/lock.rb:15:in `call'
  rack-ssl (1.3.2) lib/rack/ssl.rb:27:in `call'
  rack-cache (1.2) lib/rack/cache/context.rb:136:in `forward'
  rack-cache (1.2) lib/rack/cache/context.rb:245:in `fetch'
  rack-cache (1.2) lib/rack/cache/context.rb:185:in `lookup'
  rack-cache (1.2) lib/rack/cache/context.rb:66:in `call!'
  rack-cache (1.2) lib/rack/cache/context.rb:51:in `call'
  airbrake (3.0.9) lib/airbrake/user_informer.rb:12:in `call'
  railties (3.2.1) lib/rails/engine.rb:479:in `call'
  railties (3.2.1) lib/rails/application.rb:220:in `call'
  railties (3.2.1) lib/rails/railtie/configurable.rb:30:in `method_missing'
  /usr/local/rvm/gems/ruby-1.9.3-p0@global/gems/passenger-3.0.11/lib/phusion_passenger/rack/request_handler.rb:96:in `process_request'
  /usr/local/rvm/gems/ruby-1.9.3-p0@global/gems/passenger-3.0.11/lib/phusion_passenger/abstract_request_handler.rb:513:in `accept_and_process_next_request'
  /usr/local/rvm/gems/ruby-1.9.3-p0@global/gems/passenger-3.0.11/lib/phusion_passenger/abstract_request_handler.rb:274:in `main_loop'
  /usr/local/rvm/gems/ruby-1.9.3-p0@global/gems/passenger-3.0.11/lib/phusion_passenger/rack/application_spawner.rb:206:in `start_request_handler'
  /usr/local/rvm/gems/ruby-1.9.3-p0@global/gems/passenger-3.0.11/lib/phusion_passenger/rack/application_spawner.rb:171:in `block in handle_spawn_application'
  /usr/local/rvm/gems/ruby-1.9.3-p0@global/gems/passenger-3.0.11/lib/phusion_passenger/utils.rb:479:in `safe_fork'
  /usr/local/rvm/gems/ruby-1.9.3-p0@global/gems/passenger-3.0.11/lib/phusion_passenger/rack/application_spawner.rb:166:in `handle_spawn_application'
  /usr/local/rvm/gems/ruby-1.9.3-p0@global/gems/passenger-3.0.11/lib/phusion_passenger/abstract_server.rb:357:in `server_main_loop'
  /usr/local/rvm/gems/ruby-1.9.3-p0@global/gems/passenger-3.0.11/lib/phusion_passenger/abstract_server.rb:206:in `start_synchronously'
  /usr/local/rvm/gems/ruby-1.9.3-p0@global/gems/passenger-3.0.11/lib/phusion_passenger/abstract_server.rb:180:in `start'
  /usr/local/rvm/gems/ruby-1.9.3-p0@global/gems/passenger-3.0.11/lib/phusion_passenger/rack/application_spawner.rb:129:in `start'
  /usr/local/rvm/gems/ruby-1.9.3-p0@global/gems/passenger-3.0.11/lib/phusion_passenger/spawn_manager.rb:253:in `block (2 levels) in spawn_rack_application'
  /usr/local/rvm/gems/ruby-1.9.3-p0@global/gems/passenger-3.0.11/lib/phusion_passenger/abstract_server_collection.rb:132:in `lookup_or_add'
  /usr/local/rvm/gems/ruby-1.9.3-p0@global/gems/passenger-3.0.11/lib/phusion_passenger/spawn_manager.rb:246:in `block in spawn_rack_application'
  /usr/local/rvm/gems/ruby-1.9.3-p0@global/gems/passenger-3.0.11/lib/phusion_passenger/abstract_server_collection.rb:82:in `block in synchronize'
  <internal:prelude>:10:in `synchronize'
  /usr/local/rvm/gems/ruby-1.9.3-p0@global/gems/passenger-3.0.11/lib/phusion_passenger/abstract_server_collection.rb:79:in `synchronize'
  /usr/local/rvm/gems/ruby-1.9.3-p0@global/gems/passenger-3.0.11/lib/phusion_passenger/spawn_manager.rb:244:in `spawn_rack_application'
  /usr/local/rvm/gems/ruby-1.9.3-p0@global/gems/passenger-3.0.11/lib/phusion_passenger/spawn_manager.rb:137:in `spawn_application'
  /usr/local/rvm/gems/ruby-1.9.3-p0@global/gems/passenger-3.0.11/lib/phusion_passenger/spawn_manager.rb:275:in `handle_spawn_application'
  /usr/local/rvm/gems/ruby-1.9.3-p0@global/gems/passenger-3.0.11/lib/phusion_passenger/abstract_server.rb:357:in `server_main_loop'
  /usr/local/rvm/gems/ruby-1.9.3-p0@global/gems/passenger-3.0.11/lib/phusion_passenger/abstract_server.rb:206:in `start_synchronously'
  /usr/local/rvm/gems/ruby-1.9.3-p0@global/gems/passenger-3.0.11/helper-scripts/passenger-spawn-server:99:in `<main>'

You are combining a new version of new_relic with a very old version of sinatra . 您正在将新版本的new_relic与非常旧版本的sinatra Run bundle update sinatra and make sure you have at least Sinatra 1.3.0, or try to downgrade the new_relic gem. 运行bundle update sinatra并确保你至少拥有Sinatra 1.3.0,或尝试降级new_relic gem。

If you wonder why you have sinatra in your bundle at all: resque depends on it . 如果你想知道为什么你的捆绑中有sinatraresque 取决于它

You could also add an explicite rule for a newer sinatra or an older new_relic to your Gemfile . 您还可以为较新的sinatra或较旧的new_relicGemfile添加明确规则。

I resolved this by modifying my Gemfile to have the following lines: 我通过修改我的Gemfile来解决这个问题,使其具有以下几行:

gem 'sinatra', ">= 1.3.0"
gem 'newrelic_rpm'
gem 'resque'

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM