perform_later和perform_async有什么区别?

时间:2019-04-22 21:03:41

标签: ruby-on-rails sidekiq

根据ActiveJob文档将工作加入队列,我应该使用perform_later。 Sidekiq文档实现perform_async,但文档suggests using perform_later的ActiveJob部分。我以前在Rails中使用过perform_async,所以这些以任何方式有所不同还是仅仅是惯例?

1 个答案:

答案 0 :(得分:1)

ActiveJob是最知名的后台作业gem的包装,以提供用于处理后台作业的基本API。

ActiveJob定义perform_later。 Sidekiq定义perfom_async。您使用哪种方法取决于您实施员工的方式。如果您使用ActiveJob工作程序,则必须使用perform_later;如果您不使用ActiveJob,而仅使用普通的Sidekiq工作程序,则必须使用perform_async