在我的Rails 5应用程序中,我想在数据库中的特定日期时间后10分钟发送警报。例如,在created_at datetime。
之后10分钟所以我每隔1分钟运行一次cronjob,并且必须在我的数据库中查找创建__是10分钟前的所有记录。
我的created_at字段的格式为2017-06-01 12:00:00。如何在10分钟前获取created_at所在的所有记录?
我的问题是秒,我不能简单做(这不是有效的Ruby代码,只是为了表明我的观点):
where created_at == 10.minutes.ago
我必须做类似
的事情where created_at > 10.minutes.ago AND created_at < 9.minutes.ago
但这似乎不太干净。有更好的解决方案吗?
答案 0 :(得分:1)
你必须提供范围才能获得记录。但是,为了避免依赖于秒,你可以优雅地做下面的事情。
range = range = 10.minutes.ago.beginning_of_minute..10.minutes.ago.end_of_minute
records = YourModel.where(created_at: range)