我有一个Jobs表,其日期时间列为“Expiration”,字符串列为“Status”。创建记录后,我将到期值设置为下周日期,当该日到达时,我想更改状态值。
我在Rails应用程序中使用SQLite。
答案 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。