【发布时间】: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