如何在 Rails 中每分钟检查一次时间

How to check for time every minutes in Rails

假设我想构建一个提醒应用程序。它允许用户设置一个时间来提醒他们做他们的工作。例如:3 月 24 日 07:03 下午。

我能想到的最简单的方法是使用whenever gem 并且每分钟设置一个crontab 并检查是否有任何提醒需要触发。

但我想知道是否有更好的方法来实现这一点。或者现在用户想设置秒提醒,怎么办?例如:3 月 24 日 07:03:33 PM.

执行此操作并精确到秒的另一种方法是延迟后台作业。

例如resque_scheduler

当用户创建提醒时,您会在特定时间排队作业。

 reminder = Reminder.last
 # assuming reminder has a column reminder_at and there is 
 # a job that processes these reminders, ProcessReminderJob
 Resque.enqueue_at(reminder.remind_at, ProcessReminderJob, reminder.id)