2014-09-24 42 views
0

我希望能夠刪除隊列中的所有作業,但我不知道它是什麼隊列。我正在執行我的工作人員的方法,我需要獲取「當前隊列」,即當前工作來自的隊列。可以使用sidekiq/redis執行工作人員的方法中獲取當前隊列嗎?

這個時候我用:

require 'sidekiq/api' 
queue = Sidekiq::Queue.new 
queue.each do |job| 
    job.delete 
end 

,因爲我只是用「默認隊列」,這是工作。

但現在我將使用許多隊列,並且我不能爲此工作者指定一個隊列,因爲我需要使用大量服務器負載平衡。

那麼我怎麼能得到我們在執行方法的隊列?

thx。

回答

2

你不能通過設計,這是作業的正交上下文。如果您的工作需要知道隊列名稱,請將其明確地作爲參數傳遞。

這是更快:

Sidekiq::Queue.new.clear 
相關問題