gpt4 book ai didi

ruby-on-rails - 几乎没有踪迹的神秘 rails 错误

转载 作者:行者123 更新时间:2023-12-04 12:31:42 25 4
gpt4 key购买 nike

我们的一个爬虫有一个奇怪的问题。偶尔它会抛出一个 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 (compatible; 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
  • 将此添加到 application.rb :

  • 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

    关于ruby-on-rails - 几乎没有踪迹的神秘 rails 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24611841/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com