2012-07-11 154 views
0

Rails沒有返回記錄的更新版本。Rails查詢不返回更新記錄

我在模型中有兩種方法,submit_job(sig, label, jobtype)用於將作業提交給將在後端處理的數據庫,然後poll_result(id)它將每秒輪詢提交的作業以查看它何時完成,然後返回結果從完成的作業到用戶。

我的問題是poll_result(id)方法永遠不會獲取更新的記錄。

def self.poll_result(id) 

    change = false 
    Workbench.where("id = ?", id).each do |sig|   
     if sig.resultsready.to_i == 1 
      change = true 
     end 
    end 
    return change 
end 

這一切都爲復出與我原來的插入遍地的結果,因爲我可以看到,當我把它打印出來它是訪問記錄的結果。我正在直接查看數據庫,可以看到它正在調用正確的ID,並且記錄已更新。 resultready在數據庫中設置爲1,循環應該結束並且應該返回,但它只會陷入無限循環。

我的假設是,它以某種方式獲取正在被緩存的舊/陳舊的記錄,但我不能爲了我的生活找出如何強制它獲得新的記錄。

謝謝你,

丹尼斯

回答

0

使用Workbench.connection.clear_query_cache固定的問題!具體而言,我在控制器級別添加它,就在致電Workbench.poll_result(id)