如何在rails中建模和存储重复性任务?

Bri*_*ong 6 ruby calendar scheduling ruby-on-rails recurring

轨道中的Cron解决方案众多且非常好.那不是我在这里挣扎的.

相反,我遇到的麻烦就是让用户创建他们自己的重复任务(比如提醒) - 特别是如何在数据库中建模和存储这些任务(一个好的用户界面也是非常重要的 - 如果有的话会很棒)代码那里).谷歌日历在这里是一个很好的例子(添加活动的UI,而不是整个日历)......他们应该能够在每天下午1点CST,或周一/周三/周五,或每周等等.无论cron解决方案是什么然后使用将需要轮询数据库以查看在那个时间需要发送哪些提醒等.

有人在rails中看到过这个好插件/宝石吗?似乎会有一些东西,但我还没有找到它.

谢谢!

Bri*_*ong 6

我最终推出了自己的解决方案,因为我不需要任何超级想象力.

基本上我添加了一个next_run日期时间和interval字符串列到数据库,它是(日,周等)之一.然后设置一个cron作业来运行,查找next_run已经过去的任何日期.它运行它们,然后next_run根据interval列设置到将来的某个点.

简单但适合我的需要.