perform_later 和 perform_async 有什么区别?

What is the difference between perform_later and perform_async?

根据 ActiveJob 文档,我应该使用 perform_later 来排队作业。 Sidekiq 文档实现 perform_async,但文档的 ActiveJob 部分 suggests using perform_later。我之前在 Rails 中使用过 perform_async,所以这些有什么不同还是只是惯例?

A​​ctiveJob 是最著名的后台作业 gem 的包装器,提供了一个基础 API 来处理后台作业。

A​​ctiveJob 定义 perform_later。 Sidekiq 定义 perfom_async。您使用哪种方法取决于您如何实施您的工人。如果您使用 ActiveJob worker,那么您必须使用 perform_later,如果您不使用 ActiveJob 而只是使用普通的 Sidekiq worker,则使用 perform_async.