ruby-on-rails – 神秘的rails错误,几乎没有任何痕迹
发布时间:2020-12-17 04:14:20 所属栏目:百科 来源:网络整理
导读:我们遇到一个爬虫的奇怪问题.有时它会在某些请求上抛出Rails FATAL错误,但跟踪非常有限并且看起来像这样 [2014-07-01 18:16:37] FATAL Rails :ArgumentError (invalid %-encoding (c ^ FK+ 9u$_ t KlΥE! =k ?* ?c+O ?o ? C R! 2 D (5 x q#!` 4 p |8 I E:+
我们遇到一个爬虫的奇怪问题.有时它会在某些请求上抛出Rails FATAL错误,但跟踪非常有限并且看起来像这样
[2014-07-01 18:16:37] FATAL Rails : ArgumentError (invalid %-encoding (c ^ FK+ 9u$_ t Kl ΥE! =k ?* ?>c+<O ?o ?> C R! 2 D (5 x q#!` 4 p |8 I E :+ H^9`^ # Vo{ > =[z )): lib/locale_middleware.rb:14:in `call' 爬虫用户代理是 Mozilla / 5.0(兼容; EasouSpider; http://www.easou.com/search/spider.html) 我们可以要求它停止通过robots.txt抓取我们,但是如果可能的话,最好处理根本原因并且不会因为这些请求而失败500. 我们也无法真正重现这种请求,因此任何有关如何生成类似请求的建议都会有很大帮助. 我们在Ubuntu 12.04上使用Rails 3.2.19,Unicorn.这是我们的locale_middleware.rb 解决方法
特别感谢Benjamin Sinclaire指出
right issue on github.
该解决方案描述于on this comment: >安装rack-robustness gem config.middleware.use ::Rack::Robustness do |g| g.no_catch_all g.on(ArgumentError) { |ex| 400 } g.content_type 'text/plain' g.body{ |ex| ex.message } g.ensure(true) { |ex| env['rack.errors'].write(ex.message) } end (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |