1

在我的 Rails 3 应用程序中,给用户一个小包,他们只能持有很短的时间,例如 20 分钟。包的所有权存储在具有用户has_many包关系的表中。20 分钟后,包应将所有权转让给另一个用户。这意味着在重复此过程时更新相关表并重新添加另一个基于时间的事件。

此外,每 20 分钟间隔的开始时间是随机的,它是用户启动的过程。

这可以使用任何基于时间的事件的常见解决方案(如 cron、delayed_job 等)来完成吗?如果有很多包裹被传递,我预计这将导致大量事件队列。

额外注意事项 - 20 分钟的所有权转让过程也可以中断。这意味着该解决方案还应考虑到这些动态作业也可以单独取消。

4

2 回答 2

2

是的。
delay_job和sidekiq都有内置的调度程序,resque插件。这些系统非常简单。

于 2013-03-24T09:47:35.497 回答
1

无论何时 gem 非常适合从 Rails 应用程序配置 cron 任务。

https://github.com/javan/无论何时

于 2013-03-24T10:47:53.943 回答