2
我有一個Rails應用程序使用引擎,其中定義了Sidekiq工作人員。工作人員的perform_async
在引擎內的控制器中調用。工作人員的perform
完成了通過該控制器傳入的參數的工作。工作者特定隊列也在工作者類中定義。但是,當請求進入該控制器時,它會從'perform_async'被推送到redis服務器,併到達正確的隊列。 A bundle exec sidekiq
啓動Sidekiq。但是,工作人員的perform
從未得到執行。檢查sidekiq用戶界面後,我可以看到該作業位於正確的隊列中。 這是我的工人怎麼看起來像Sidekiq工作人員不能從Rails引擎工作
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顯示,ARG遊戲中的「潘多」排隊。 sidekiq進程從不處理該隊列或甚至默認進程。
使用sidekiq.yml工作與他們中定義的隊列?以及如何在引擎中使用它們? – absessive 2014-11-06 17:01:54
根據文檔sidekiq.yml也可以做到這一點:https://github.com/mperham/sidekiq/wiki/Advanced-Options – BroiSatse 2014-11-06 17:06:32