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 属性。这发生在集中到五分钟窗口的五条记录上。

publish_at 属性如何为 null 并且模型仍然使用 publish=true 保存?

4

1 回答 1

0

也许出于某种原因published? && published_changed?,评估到false您承受重负载时。

于 2012-12-13T01:33:19.150 回答