rails中的预定任务

时间:2015-03-24 05:04:33

标签: ruby-on-rails scheduler

在我的rails应用程序中,我想在将来他们在界面上选择时通知应用程序用户。我使用rufus-scheduler进行年度通知,但我不知道如何在用户选择的特定时间使用它。

由于

3 个答案:

答案 0 :(得分:1)

请仔细阅读gem的内容:

require 'rufus-scheduler'

scheduler = Rufus::Scheduler.new

scheduler.at '24h' do
  # do something at a given point in time
end

所以你可以做什么,你可以做一个每天运行的rake任务,它会检查用户是否有任何明天的行动日期然后它可以创建一个延迟的作业然后它将执行

答案 1 :(得分:1)

通过阅读之前的评论,我觉得你可以做到以下

1.编写一个rake任务,以便在第二天发送所有通知并将其插入新表(它应包含notification_id和user_id,status),以便跟踪它。

2.每天使用rufus调度程序运行上面的rake任务。

3.编写另一个rake任务,该任务将从表中获取notification_id和user_id并通过邮件或通知中心发送通知,然后更新表中的状态,这也应该在Rufus调度程序中安排

希望流程能为您提供帮助,这种方法将为您提供发送通知的能力和灵活性,并且还可以通过通知生成基于状态的报告

答案 2 :(得分:0)

您可以使用scheduler.at在特定时间运行任务。例如:

scheduler.at '2030/12/12 23:30:00' do
  # do something at a given point in time
end

有关详细信息,请参阅https://github.com/jmettraux/rufus-scheduler