【问题标题】:Rails using ActiveJob/Sidekiq does not initiate job使用 ActiveJob/Sidekiq 的 Rails 不会启动作业
【发布时间】:2017-08-02 02:19:34
【问题描述】:

在使用带有 sidekiq 的 ActiveJob 时,

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

我使用 redis 做了一份工作。

class SubmissionJob < ActiveJob::Base
  queue_as :default

  def perform(*args)

在检查日志时,调用job as之后

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调用的结果,结果应该是返回参数,但它只返回空数组,而且似乎SubmissionJob从未运行过。

但是,当我使用 perform_nowSubmissionJob.perform_now args 调用时,该函数可以正常工作,因此 SubmissionJob 方法本身似乎不是问题。

我应该从哪里开始发现问题以及解决此问题的可能解决方案是什么。

【问题讨论】:

  • 快速提问——您是否通过运行bundle exec sidekiq 启动了sidekiq 服务器?
  • 我确实做到了@31piy

标签: ruby-on-rails ruby sidekiq


【解决方案1】:

问题已解决。

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

例如bundle exec sidekiq -e develop -q develop_submit_job_queue

【讨论】:

    猜你喜欢
    • 2015-03-29
    • 1970-01-01
    • 2016-03-25
    • 2016-12-27
    • 1970-01-01
    • 2017-02-19
    • 2015-08-20
    • 2017-08-06
    • 1970-01-01
    相关资源
    最近更新 更多