ruby-on-rails-4 - 与 Airbrake 轨道集成的 Rake 任务没有收到异常

标签 ruby-on-rails-4 rake airbrake

自版本 5 起,Airbrake 及其 Rails 集成在任何 Rake 任务中提供自动异常报告。 但是我的 errbit 服务器上没有收到 rake 异常。

我做了以下测试:

  • 创建一个新的 Rails 4.1 应用程序。
  • 包括空气刹车 gem 。
  • 创建 Airbrake 初始值设定项(使用 errbit 配置)。
  • 添加一个引发异常的 rake 任务。

Gemfile

source 'https://rubygems.org'
gem 'rails', '4.1.6'
gem 'sqlite3'
gem 'sass-rails', '~> 4.0.3'
gem 'uglifier', '>= 1.3.0'
gem 'coffee-rails', '~> 4.0.0'
gem 'jquery-rails'
gem 'turbolinks'
gem 'jbuilder', '~> 2.0'
gem 'sdoc', '~> 0.4.0',          group: :doc
gem 'spring',        group: :development

gem 'airbrake', '5.0.5'

初始化器/airbrake.rb

Airbrake.configure do |config|
  config.environment = Rails.env
  config.host = 'https://xxxxxxxxxx.herokuapp.com/'
  config.project_id = true
  config.project_key = 'xxxxxxxxxxx'
  config.ignore_environments = []
end

lib/rake/raise.rake

namespace :raise do
  desc 'raise error'
  task error: :environment do
    1 / 0
  end
end

我尝试执行 rake 任务 rake raise:error 并得到以下回溯:

rake aborted!
ZeroDivisionError: divided by 0
/Users/Yann/code/airbraker/lib/tasks/raise.rake:4:in `/'
/Users/Yann/code/airbraker/lib/tasks/raise.rake:4:in `block (2 levels) in <top (required)>'
/Users/Yann/.gem/ruby/2.2.2/gems/airbrake-5.0.5/lib/airbrake/rake/task_ext.rb:19:in `execute'
Tasks: TOP => raise:error
(See full trace by running task with --trace)

并且在我的 errbit 服务器上从未收到任何异常。

注意:执行rake airbrake:test向我的errbit服务器发送异常,我假设我的配置是正确的。

我错过了什么吗?

最佳答案

这是一个小错误。问题是 Airbrake 尝试异步,但有时它无法按预期工作。在这种特殊情况下,Ruby 进程会在 Airbrake 发送异常之前退出。

我已经提交了一个补丁,应该可以解决这个问题:https://github.com/airbrake/airbrake/pull/513

关于ruby-on-rails-4 - 与 Airbrake 轨道集成的 Rake 任务没有收到异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35462531/

相关文章:

ruby-on-rails - Rails刹车未定义方法

javascript - Rails js.erb 不渲染部分文件,但获取渲染的响应文件

ruby-on-rails - Rails 如何运行 rake 任务

ruby - 确保 Rake 任务的附加代码无论如何都能运行

postgresql - Rake 文件在 Heroku 上看到旧版本的数据库

ruby-on-rails - 在 Rails Router 中获取异常内容

postgresql - 从 csv 文件复制到 Postgresql 表中并跳过 id 第一行

ruby-on-rails - PG::UndefinedTable:错误:缺少 FROM 子句

javascript - 在 rails 中使用 jquery 显示工具提示