Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 3 Airbrake未捕获Rails应用程序中除开发环境外的Sidekiq错误_Ruby On Rails 3_Sidekiq_Rubber_Airbrake - Fatal编程技术网

Ruby on rails 3 Airbrake未捕获Rails应用程序中除开发环境外的Sidekiq错误

Ruby on rails 3 Airbrake未捕获Rails应用程序中除开发环境外的Sidekiq错误,ruby-on-rails-3,sidekiq,rubber,airbrake,Ruby On Rails 3,Sidekiq,Rubber,Airbrake,我正在Rails应用程序中使用Sidekiq和Airbrake。我想Airbrake捕捉在Sidekiq作业期间发生的任何错误。根据我在网上找到的说明,我在sidekiq.rb中添加了以下内容: config.error_handlers << Proc.new { |ex,context| Airbrake.notify_or_ignore(ex, parameters: context) } require 'sidekiq' require 'sidekiq-status'

我正在Rails应用程序中使用Sidekiq和Airbrake。我想Airbrake捕捉在Sidekiq作业期间发生的任何错误。根据我在网上找到的说明,我在sidekiq.rb中添加了以下内容:

config.error_handlers << Proc.new { |ex,context| Airbrake.notify_or_ignore(ex, parameters: context) }
require 'sidekiq'
require 'sidekiq-status'

redis_connection = "redis://127.0.0.1:6379/0"

Sidekiq.configure_server do |config|
  config.redis = { :url => redis_connection, :namespace => 'sidekiq' }
  config.server_middleware do |chain|
    chain.add Sidekiq::Status::ServerMiddleware, expiration: 30.minutes
  end
  config.client_middleware do |chain|
    chain.add Sidekiq::Status::ClientMiddleware
  end
  config.error_handlers << Proc.new { |ex,context| Airbrake.notify_or_ignore(ex, parameters: context) }
end

Sidekiq.configure_client do |config|
  config.redis = { :url => redis_connection, :namespace => 'sidekiq' }

  config.client_middleware do |chain|
    chain.add Sidekiq::Status::ClientMiddleware
  end
end

事实证明,如果你的应用程序也在使用rubber,那么你还必须更改你的rubber sidekiq初始值设定项(config/ruber/common/initializers/sidekiq),以包含以下行:

config.error_handlers << Proc.new { |ex,context| Airbrake.notify_or_ignore(ex, parameters: context) }

config.error\u处理程序您可能应该向我们展示完整的Airbrake(减去专用令牌)和Sidekiq初始化器。
config.error_handlers << Proc.new { |ex,context| Airbrake.notify_or_ignore(ex, parameters: context) }