【问题标题】:Sidekiq worker not working from Rails engineSidekiq 工作人员不使用 Rails 引擎工作
【发布时间】:2015-01-03 06:51:12
【问题描述】:

我有一个使用定义 Sidekiq 工作人员的引擎的 rails 应用程序。工作人员的perform_async 在引擎内的控制器中被调用。工作人员的perform 处理通过该控制器传入的参数。特定于工人的队列也在工人类中定义。但是,当请求进入该控制器时,它会从“perform_async”推送到 redis 服务器,并推送到正确的队列中。 bundle exec sidekiq 启动 Sidekiq。但是,worker 的 perform 永远不会被执行。检查 sidekiq UI,我可以看到作业在正确的队列中。 这就是我的工人的样子

require 'pando'

class PandoWorker
  include Sidekiq::Worker

  sidekiq_options :queue => :pando, :backtrace=> true

  def perform(*args)
    puts "in here"
    puts args
  end

end

所以在这种情况下,sidekiq UI 显示参数在“pando”中排队。 sidekiq 进程从不处理该队列甚至默认队列。

【问题讨论】:

    标签: ruby-on-rails sidekiq


    【解决方案1】:

    你必须告诉 sidekiq 进程查看哪个队列:

    bundle exec sidekiq -q pando
    

    否则进程只会观察“默认”队列。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-11-05
    • 2013-07-10
    • 2015-03-10
    • 2012-10-05
    • 1970-01-01
    • 1970-01-01
    • 2013-11-05
    • 1970-01-01
    相关资源
    最近更新 更多