【发布时间】:2012-12-11 00:44:35
【问题描述】:
我想知道如何通过数据库查询而不是查找所有站点来处理这个问题。
Site.all.select { |x| x.last_ran <= DateTime.now - x.interval.minutes }
基本上,我需要找到所有在其间隔之前 last_ran 的站点。因此,如果我在 12:00 和 12:06 运行我的站点,但间隔为 5 分钟,则此查询将返回它。
我遇到的问题是在数据库级别转换 x.interval.minutes (5.minutes)。
谢谢 - 如果有特定于数据库的方法来执行此操作,我也会使用 postgres!
【问题讨论】:
-
我强烈建议添加
NextRunDueBy字段。这样的字段将允许您使用索引来完成此查询。目前每一行都需要每次解析。
标签: ruby-on-rails database postgresql datetime