在我的 Rails 3 应用程序中,给用户一个小包,他们只能持有很短的时间,例如 20 分钟。包的所有权存储在具有用户has_many
包关系的表中。20 分钟后,包应将所有权转让给另一个用户。这意味着在重复此过程时更新相关表并重新添加另一个基于时间的事件。
此外,每 20 分钟间隔的开始时间是随机的,它是用户启动的过程。
这可以使用任何基于时间的事件的常见解决方案(如 cron、delayed_job 等)来完成吗?如果有很多包裹被传递,我预计这将导致大量事件队列。
额外注意事项 - 20 分钟的所有权转让过程也可以中断。这意味着该解决方案还应考虑到这些动态作业也可以单独取消。