- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我在 Ruby 中使用 Mandrill-api 以编程方式发送交易电子邮件。
我的 Rails 应用程序中(或多或少)有以下行,
mandrill ||= Mandrill::API.new const(:API)[:MANDRILL_APIKEY]
... (constructing the message, content, etc)
mandrill.messages.send_template templ, template_content, message, true
问题是在生产环境中运行时,它偶尔返回以下错误。
Excon::Errors::SocketError (EOFError (EOFError)):
app/mailers/mailer.rb:24:in `send'
....
我不知道如何调试这个问题。如果有人能让我了解调试它的方法,我将非常感激。
gem 信息:
生产环境:
sudo bundle exec rake RAILS_ENV=production about
About your application's environment
Ruby version 1.9.3 (x86_64-linux)
RubyGems version 1.8.11
Rack version 1.4
Rails version 3.2.13
Active Record version 3.2.13
Action Pack version 3.2.13
Active Resource version 3.2.13
Action Mailer version 3.2.13
Active Support version 3.2.13
Middleware Rack::Cache, Rack::Lock, #<ActiveSupport::Cache::Strategy::LocalCache::Middleware:0x00000001e72330>, Rack::Runtime, Rack::MethodOverride, ActionDispatch::RequestId, Rails::Rack::Logger, ActionDispatch::ShowExceptions, ActionDispatch::DebugExceptions, ActionDispatch::RemoteIp, ActionDispatch::Callbacks, ActiveRecord::ConnectionAdapters::ConnectionManagement, ActiveRecord::QueryCache, ActionDispatch::Cookies, ActionDispatch::Session::CookieStore, ActionDispatch::Flash, ActionDispatch::ParamsParser, ActionDispatch::Head, Rack::ConditionalGet, Rack::ETag, ActionDispatch::BestStandardsSupport
Environment production
Database adapter mysql2
运行时间:
Apache 服务器:Apache/2.2.22 (Ubuntu)
乘客:3.0.14
最佳答案
这很可能是套接字超时。 Excon 尝试尽可能使用持久连接,但不幸的是,有时这会反咬我们一口。 mandrill-api 似乎试图在其调用方法中重用相同的连接/套接字:https://bitbucket.org/mailchimp/mandrill-api-ruby/src/03e3e28e77dcba31eab7d2f9e2216b5a01d2110d/lib/mandrill.rb?at=master#cl-35
这通常应该没问题,但如果给定 session 存在的时间较长(即猜测可能超过 30 秒),则可能会导致您在上面看到的行为。在 excon 连接上调用 #reset 将确保您不会遇到这种情况,因此这可能是最安全的方法(尽管这可以防止使用持久连接,因此如果您执行大量请求,性能会受到很小的影响).
我希望这有帮助,也许我们应该与 mandrill-api 讨论更新这个问题。考虑到所涉及的性能影响,可能仅取决于问题的间歇性(或不间断性)。希望能有所帮助,但我当然很乐意尽我所能讨论/提供帮助。
关于ruby - Mandrill-api Excon::错误::SocketError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17771563/
我正在使用 sidekiq 通过 Mandrill Apis 发送邮件。一切正常。但是从过去几天开始,我在 sidekiq 中收到超时错误,而工作试图随机发送邮件。 Excon::Errors::Ti
看了好几篇相关的帖子和解决方案,还是想不通,还是返回“Excon::Errors::SocketError 在/postsgetaddrinfo: nodename 或 servname 提供,或
将 Ruby on Rails 与 Carrierwave + Fog 结合使用,它依赖于 Excon 连接到 S3。 Rails 服务器正在 AWS EC2 上运行。大多数时候,Carrierwav
我在 Ruby 中使用 Mandrill-api 以编程方式发送交易电子邮件。 我的 Rails 应用程序中(或多或少)有以下行, mandrill ||= Mandrill::API.new con
将carrierwave 用于我们的上传器,我们每周都会从我们的生产应用程序中收到几个Excon 错误。例如: Excon::Errors::BadRequest: Expected(200) Ac
我刚刚在带有 rails 3.2.9 的 Ubuntu 上安装了回形针,但无法上传图像。 我得到的消息是未初始化的常量 Paperclip::Storage::Fog::Excon。 对此有什么解释吗
我一直在为我的 rails 项目使用 neography gem,有时我最终会收到以下错误: #error inspect 有人可以帮我解决这个错误吗?此外,我无法根据我的要求重现此错误。 谢谢 最
我一直试图让carrierwave与亚马逊s3一起工作。代替 storage :s3 我有 storage :fog 将其更改为 storage :s3 会立即出现错误 https://stackov
我正在使用Carrierwave和Fog将图像存储在云上。我以前使用的是Amazon S3作为实际存储,没有任何问题。但是我切换到Google Cloud Storage,现在每次尝试保存任何内容时都
我目前收到以下错误:Excon::Errors::SocketError - Broken pipe (Errno::EPIPE)上传大于 150kb 的图像时。 150kb 以下的图像正常工作。研究
我在尝试安装 bundle 时收到此错误。我的 gem 集中有 gem excon 的两个版本“0.15.4”和“0.25.1”。我该如何解决这个问题? Bundler could not find
当我尝试将图片上传到“汽车”对象时,我被拒绝访问 S3。但是自从我添加了 S3 以来,assets 文件夹中的站点图像显示得很好。我得到的具体错误是这样的: 2015-02-17T14:40:48.4
我们有一个临时服务器设置,以使用与生产服务器不同的 S3 存储桶,但这需要我们手动同步存储桶之间的图像,以便查看临时图像。由于我们有数以万计的图像(每天都在增加),这是不可行的。 有没有配置 Carr
从 Rails 控制台使用 MailChimp gem 时出现间歇性错误。 这是错误: Excon::Errors::SocketError: EOFError (EOFError) from /
Rails 4 - Ruby 2.2.2 - 亚马逊 AWS S3 - 蜻蜓 1.0.12 - dragonfly-s3_data_store 1.2 - fog-aws 0.10.0 大约 99%
过去我可以上传文件,但在最后一天我无法将文件上传到我的 S3 当我尝试从控制台上传文件时 Document.create(remote_file_url: 'http://www.pdf995.com
我无法启动Ruby on Rails应用程序。 毫无明显的原因,诸如“rails s”,“rake db:migrate”,“thin start”之类的任何命令现在都会触发以下异常: Connect
想使用 carrierwave gem 和 AWS 从我的应用程序上传图像。但是当我上传图片并提交时出现错误 Excon::Errors::SocketError in MoviesControlle
我是一名优秀的程序员,十分优秀!