Rails 使用 ActiveJob/Sidekiq 不会启动作业

Rails using ActiveJob/Sidekiq does not initiate job

在将 ActiveJob 与 sidekiq 一起使用时,

# application.rb
config.active_job.queue_adapter = :sidekiq

我用redis做了一份工作。

class SubmissionJob < ActiveJob::Base
  queue_as :default

  def perform(*args)

在检查日志时,在调用作业后

SubmissionJob_perform_later args

但是在执行 rails s

时给出消息后这不起作用
Enqueued SubmissionJob (Job ID: 63320b9d-de2a-4791-99f6-e58f2adf73d7) to Sidekiq(development_default) with arguments: ["12345", "12346"]

最后,我渲染了从 redis 使用 job_id 调用的结果,结果应该是 return 参数,但它只是 return 的空数组,而且它似乎 SubmissionJob 从未运行过。

然而,当我用 perform_now 调用时,SubmissionJob.perform_now args 该函数正常工作,所以似乎 SubmissionJob 方法本身不是问题。

我应该从哪里开始寻找问题,解决这个问题的可能方案是什么。

问题已解决。

这是因为 Work 没有成功地将作业从建议的队列中取出。当 运行 sidekiq 时,我给了 -q 选项。

例如bundle exec sidekiq -e develop -q develop_submit_job_queue