Delayed job与Active job的区别

6

在Ruby on Rails中,延迟任务和活动任务有什么区别?如果已经存在活动任务,为什么应该使用延迟任务?我尝试找到更多信息,但没有成功。


5
ActiveJob 是对 DelayedJob 的封装。DelayedJob 是实际的后台作业系统。Resque 和 Sidekiq 是另外两个后台作业系统的选项。基本上,ActiveJob 让你以通用的方式编写作业。如果将来想要切换到 Resque 或 Sidekiq,非常容易,因为你没有使用 DelayedJob 特定的作业。这样说清楚了吗? - Derek Hopper
它完成了,非常感谢您。 - George Morris
1个回答

13

ActiveJob是与ActiveRecord非常相似的概念。

ActiveRecord是一个包装器。您可以为其编写代码,然后它决定如何执行它,这取决于你使用哪个后端。

ActiveJob只是另一个包装器。在这种情况下,DelayedJob将是实际运行作业的后端。如果未来您决定切换到像Resque或者Sidekiq这样的东西,所有您的代码都应该仍然能正常工作,因为翻译由ActiveJob包装器处理。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接