Rails 3基于动态时间的作业

时间:2013-03-24 09:04:36

标签: ruby-on-rails cron gem rake

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

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

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

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

2 个答案:

答案 0 :(得分:2)

是。
delayed_jobsidekiq都有内置的调度程序,resqueplugin。这些系统非常简单。

答案 1 :(得分:1)

每当gem擅长从Rails应用程序配置cron任务时。

https://github.com/javan/whenever