几天前,我们的网站流量激增。当我们扩大处理负载时,我们的单个服务器被最大化并且请求开始超时。在此期间,某些请求仍在创建记录。问题来自以下模型:
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?
答案 0 :(得分:0)
或许由于某种原因published? && published_changed?
在您负载过重时评估为false
。