我們正在嘗試爲我們的生產環境實現分片。我們面臨的問題是我們推遲了正在照顧一些後臺處理的工作。如果我們更新模型並在延遲作業中爲延遲作業輸入條目,它將獲取該對象的較舊值並且不一致。例如用戶模型有姓名,職務,如果我想只要他改變了位置,它就像Rails mysql獲取舊值
usr = User.find(1)
usr.position = "foo"
usr.save
延誤工作,如果我取USR = User.find(1)它是取舊觸發郵件值。我們在我們的生產環境中使用乘客,我們仍然使用Rails 2.3.18。在我們面對同樣的問題之前,我們的應用程序操作也是由mysql查詢緩存中的一個錯誤導致的,我們停止使用它並且問題在我們的應用程序動作中得到解決。
DB級別或Rails級別的問題?我的意思是:如果你在數據庫上手工查詢,你是否得到正確的答案? – Idavod
是的,我得到正確的價值,如果我直接從數據庫控制檯查詢(同樣的查詢,我從軌道記錄器獲得),如果我再次運行同樣的工作,它是無法獲取.. – user1956193
保持此ActiveRecord :: Base.connection 。重啓!就在加載之前執行延遲作業解決問題..我不知道它爲什麼導致問題 – user1956193