【问题标题】:Why do I get intermittent Excon::Errors::SocketError: EOFError (EOFError) errors with MailChimp?为什么 MailChimp 会出现间歇性 Excon::Errors::SocketError: EOFError (EOFError) 错误?
【发布时间】:2013-10-02 13:02:48
【问题描述】:

从 Rails 控制台使用 MailChimp gem 时出现间歇性错误。

这是错误:

Excon::Errors::SocketError: EOFError (EOFError)
  from /Users/me/.rvm/rubies/ruby-1.9.3-p448/lib/ruby/1.9.1/openssl/buffering.rb:246:in `readline'
  from /Users/me/.rvm/gems/ruby-1.9.3-p448@launchsoon/gems/excon-0.26.0/lib/excon/response.rb:39:in `parse'
  from /Users/me/.rvm/gems/ruby-1.9.3-p448@launchsoon/gems/excon-0.26.0/lib/excon/middlewares/response_parser.rb:6:in `response_call'
  from /Users/me/.rvm/gems/ruby-1.9.3-p448@launchsoon/gems/excon-0.26.0/lib/excon/connection.rb:349:in `response'
  from /Users/me/.rvm/gems/ruby-1.9.3-p448@launchsoon/gems/excon-0.26.0/lib/excon/connection.rb:252:in `request'
  from /Users/me/.rvm/gems/ruby-1.9.3-p448@launchsoon/gems/excon-0.26.0/lib/excon/connection.rb:290:in `post'
  from /Users/me/.rvm/gems/ruby-1.9.3-p448@launchsoon/gems/mailchimp-api-2.0.3/lib/mailchimp.rb:40:in `call'
  from /Users/me/.rvm/gems/ruby-1.9.3-p448@launchsoon/gems/mailchimp-api-2.0.3/lib/mailchimp/api.rb:861:in `member_info'
  from (irb):5
  from /Users/me/.rvm/gems/ruby-1.9.3-p448@launchsoon/gems/railties-3.2.14/lib/rails/commands/console.rb:47:in `start'
  from /Users/me/.rvm/gems/ruby-1.9.3-p448@launchsoon/gems/railties-3.2.14/lib/rails/commands/console.rb:8:in `start'
  from /Users/me/.rvm/gems/ruby-1.9.3-p448@launchsoon/gems/railties-3.2.14/lib/rails/commands.rb:41:in `<top (required)>'
  from script/rails:6:in `require'
  from script/rails:6:in `<main>'

【问题讨论】:

  • 我在星巴克工作时遇到了这个错误(使用 MailChimp 的 mandrill-api gem),连接不可靠导致我的 Mac 网络堆栈混乱。重新启动有帮助; YMMV。

标签: ruby-on-rails gem mailchimp


【解决方案1】:

我在Excon::Errors::SocketError: EOFError (EOFError) 上搜索了一下,发现了this carrierwave issue,这似乎与我的经历相符。

我能够重现这种行为 - 如果我让我的控制台在那里坐一会儿,然后调用 MailChimp 的 API,它会失败一次,并出现上述错误。如果我重试相同的调用,它会成功。

所以这个问题似乎是由于让套接字打开超过了 keep-alive 值造成的。不幸的是,我不知道除了“不要那样做”之外的修复/解决方法。

【讨论】:

    【解决方案2】:

    仅作记录,如果有人在这里结束:excon 的 0.44.4 版似乎已经解决了这个问题。添加

    gem 'excon', '~> 0.44.4'
    

    到您的 Gemfile 并运行

    bundle update excon
    

    【讨论】:

      猜你喜欢
      • 2016-12-08
      • 2013-07-20
      • 1970-01-01
      • 2012-12-14
      • 2016-06-01
      • 2013-06-15
      • 2016-03-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多