Rails:如何查找项目时间到期?

时间:2016-03-05 09:45:38

标签: ruby-on-rails ruby-on-rails-4

我有一个设置enddatetime)的项目。达到这个时间后,我想禁用项目页面上的一些按钮并显示它已完成。 我的想法是添加一个布尔标记finished,并在end到达time.now时更改它。

问题是,有没有比每分钟运行一个cron作业更好的方法,并观察项目end datetime,将它与实际时间进行比较,何时结束,更改标志? 我不确定每分钟运行cron作业是否是最有效的方法。

由于

1 个答案:

答案 0 :(得分:2)

如果只是显示或不显示某些按钮,可以在UI级别完成,您可以每天使用cron作业更新一次记录,而不是每分钟都运行一次。

另一种方法是在用户请求时更新记录。喜欢:

  • 用户请求了特定项目
  • 您获取项目
  • 在提供项目信息之前,请检查结束时间并更新记录
  • 您的程序随后会提供最新更新记录

但是,这又取决于要求。

最后,你可以加入这两个想法。您可能每天都要进行一次两次的cron作业来更新记录,并且还可以快速检查和更新内容。正如我上面所说的那样。

也许您可以发布更多信息以获得更具体的答案。