在特定日期和时间更改数据库记录的值

时间:2016-12-30 20:27:31

标签: ruby-on-rails sqlite

我有一个Jobs表,其日期时间列为“Expiration”,字符串列为“Status”。创建记录后,我将到期值设置为下周日期,当该日到达时,我想更改状态值。

我在Rails应用程序中使用SQLite。

1 个答案:

答案 0 :(得分:0)

您需要创建一个计划任务或cron作业,每天运行一次以检查在该指定日期到期的作业,如果找到任何作业,则更新其状态。

expired_jobs = Job.where('expiration < ?', DateTime.now).where.not(:status => 'Expired')
expired_jobs.update_all(:status => 'Expired') if expired_jobs.present?

您可能会喜欢whenever gem