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,并且记录已更新。resultsready 在数据库中设置为 1,循环应该结束并且应该返回,但它只是陷入了无限循环。
我的假设是,它以某种方式获得了以某种方式缓存的旧/陈旧记录,但我终生无法弄清楚如何强制它获取新记录。
谢谢你,
-丹尼斯