【发布时间】:2014-06-21 21:45:32
【问题描述】:
我创建了一个向移动设备发送推送通知的 Rails 应用;我希望用户能够选择发送通知的时间,例如闹钟。我已经查看了Whenever gem,但似乎只要所需时间也发生变化,就需要更新应用程序。所需时间可以随时根据用户的偏好而改变。
【问题讨论】:
标签: ruby-on-rails ruby datetime timer whenever
我创建了一个向移动设备发送推送通知的 Rails 应用;我希望用户能够选择发送通知的时间,例如闹钟。我已经查看了Whenever gem,但似乎只要所需时间也发生变化,就需要更新应用程序。所需时间可以随时根据用户的偏好而改变。
【问题讨论】:
标签: ruby-on-rails ruby datetime timer whenever
我会考虑两种不同的方法:
Cron:您可以有一个 cron 任务,它每隔 x 分钟使用 script/runner "PushNotifier.perform" 启动一个 Rails 方法。在该方法中,您可以检查自上次运行以来需要通知的用户。
Delayed Job:您可以为每个想要收到通知的用户创建一个预定的 DelayedJob。如果执行了 DelayedJob,它会测试它是否仍然可以运行(用户是否在两者之间取消了?)。发送通知并将其他作业添加到队列中以获取下一个重复通知。
【讨论】: