首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无例外从Rake任务与空气制动钢轨的集成

无例外从Rake任务与空气制动钢轨的集成
EN

Stack Overflow用户
提问于 2016-02-17 16:36:08
回答 1查看 497关注 0票数 2

因为版本5,空气制动器及其Rails集成在任何Rake任务中都提供了自动异常报告。但是,我还没有在我的errbit服务器上收到rake异常。

我做了以下测试:

  • 创建一个新的rails 4.1应用程序。
  • 包括空气制动宝石。
  • 创建空气制动初始化器(使用了错误配置)。
  • 添加一个rake任务,它会引发异常。

Gemfile

代码语言:javascript
复制
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'

initializers/airbrake.rb

代码语言:javascript
复制
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

代码语言:javascript
复制
namespace :raise do
  desc 'raise error'
  task error: :environment do
    1 / 0
  end
end

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

代码语言:javascript
复制
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服务器发送一个异常,我假设我的配置是正确的。

我漏掉了什么吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-02-17 23:40:05

这是个小虫子。问题是,空气制动器试图是异步的,有时它不能像预期的那样工作。在这种情况下,Ruby进程会在Airbrake发送异常之前退出。

我已经提交了一个修补程序,它应该修复这个问题:https://github.com/airbrake/airbrake/pull/513

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35462531

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档