Rails 3.2.8模型before_save在繁重的服务器负载下无法正常工作

时间:2012-09-22 22:56:34

标签: ruby-on-rails ruby activerecord ruby-on-rails-3.2 ruby-1.9.3

几天前,我们的网站流量激增。当我们扩大处理负载时,我们的单个服务器被最大化并且请求开始超时。在此期间,某些请求仍在创建记录。问题来自以下模型:

class List < ActiveRecord::Base
  before_save :set_published_at
  def set_published_at
    if published? && published_changed?
      self.published_at = Time.now
    end
  end
end

出于某种原因,在此期间发布的某些列表已发布= true但已发布_at = nil。

此模型上有许多其他回调和一个观察者,但它们都不会影响published_at属性。这发生在五个记录集中到五分钟的窗口。

published_at属性如何为null并且模型仍然保存为published = true?

1 个答案:

答案 0 :(得分:0)

或许由于某种原因published? && published_changed?在您负载过重时评估为false