【发布时间】:2017-12-31 11:46:40
【问题描述】:
我正在阅读一些在线教程,这些教程告诉我们如何将 ActiveJob 与 Sidekiq 结合使用。但我不知道我们为什么要这样做。我看到 Sidekiq 具有 ActiveJob 的所有功能。
此外,在 Sidekiq 文档上:here
警告:通过 ActiveJob 进行作业重试,您会损失很多 Sidekiq 功能:
- Web UI 可见性(重试选项卡将为空)
- 您不能使用 Sidekiq::RetrySet API 遍历重试。
- Sidekiq 的日志不会包含任何故障或回溯。
- 错误不会报告给 Sidekiq 的全局错误处理程序
- 许多高级 Sidekiq 功能(例如批处理)不适用于 AJ 重试。
这是一个信号,让我觉得我们不应该将 Sidekiq 与 ActiveJob 一起使用。我对 ActiveJob 的理解有误吗?将 ActiveJobs 与 sidekiq 一起使用有什么优势吗?
谢谢
【问题讨论】:
-
那个 wiki 页面只是告诉你不要使用 ActiveJob 的重试,仅此而已。它并没有告诉你不要使用 ActiveJob。
-
@SergioTulentsev 非常感谢。根据您的评论和托尼文森特的回答,我可以理解一张图片。在您看来,您更喜欢在 SIdekiq 之上使用 ActiveJob 吗? (因为在这种情况下,我们必须接受这个解决方案中的一些弱点)例如重试作业。谢谢
-
我使用 ActiveJob 而不是 sidekiq,是的。
标签: ruby-on-rails sidekiq rails-activejob