繁体   English   中英

EOFError:文件结尾达到错误,然后在Heroku中与工作程序发生内存错误

[英]EOFError: end of file reached error and then memory error on heroku with workers

我在heroku(1x)上有一个工人,可用于sidekiq后台进程。 此过程基本上遍历所有用户,并通过twilio向他们发送短信。

几个月以来一切正常,但最后两次我的客户尝试使用此功能,但失败了。 我不确定为什么它第一次失败,但是最近一次(今天),工人失败了,并说:

EOFError: end of file reached

然后,当查看heroku日志--tail时,它会不断重复这样说:

2014-07-18T01:06:59.544697+00:00 heroku[worker.1]: Process running mem=804M(157.2%)
2014-07-18T01:06:59.544945+00:00 heroku[worker.1]: Error R14 (Memory quota exceeded)

重新启动服务器终于修复了它。 前一段时间我遇到了这个确切的问题,我认为自己已解决。 这是我的sidekiq.rb文件:

Sidekiq.configure_server do |config|
  pool_size = Sidekiq.options[:concurrency] + 2

  if defined?(ActiveRecord::Base)
    config = Rails.application.config.database_configuration[Rails.env]
    config['pool'] = pool_size
    ActiveRecord::Base.establish_connection(config)
  end
end

为什么这突然发生? 他们的用户基础肯定会增长,但是这比其他所有时间都多。 谢谢!

正如您在其他问题中回答的那样,您可以使用find_each来确保没有加载太多,并将该数据馈送到librato中进行监视

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM