作业中的作业应该使用 perform_later 还是 perform

Fel*_*ger 2 ruby-on-rails rails-activejob ruby-on-rails-5

我正在呼吁ExampleJob.perform_later采取行动。这项工作反过来又调用了另外两个工作(见下文)。

这些是否也应该有方法perform_laterperform无关紧要?

class ExampleJob < ApplicationJob
  queue_as :default

  def perform(*args)
    Example2Job.perform_later
    Example3Job.perform_later
  end
end
Run Code Online (Sandbox Code Playgroud)

Nik*_*rin 5

如果您希望异步执行作业,则应使用perform_later. 否则你可以使用Job.new.performJob.perform_now

  • 是的,除非 Example3Job 依赖于 Example2Job 的结果 (2认同)