我在Rails應用程序中使用sidekiq作爲後臺任務。現在工作的數量變多了,所以我想清除所有的工作。我在控制檯中嘗試了以下命令:如何清除sidekiq的所有工作?
Sidekiq::Queue.new.clear
但它給出以下錯誤。
NameError: uninitialized constant Sidekiq::Queue
如何從sidekiq清除所有工作?
我在Rails應用程序中使用sidekiq作爲後臺任務。現在工作的數量變多了,所以我想清除所有的工作。我在控制檯中嘗試了以下命令:如何清除sidekiq的所有工作?
Sidekiq::Queue.new.clear
但它給出以下錯誤。
NameError: uninitialized constant Sidekiq::Queue
如何從sidekiq清除所有工作?
根據Github上這個問題:https://github.com/mperham/sidekiq/issues/1732你現在需要
require 'sidekiq/api'
你可以這樣做,因爲它說的issue 1077,或者由於本blog at noobsippets
報道都表明,我們做了以下內容,
Sidekiq.redis { |conn| conn.flushdb }
與命令行中的'redis-cli flushdb'相同。 –
這似乎重置我正在使用的Rails應用程序的身份驗證(這意味着我必須將cookie複製回到我的HTTP客戶端)。有沒有辦法阻止? – brandaemon
你好,Brandeamon。你是否在使用redis來控制你的項目的會話?因爲這些命令要「清除」存儲在redis中的所有數據,所以相當於關係數據庫中的drop database或drop table。 – jonathanccalixto
以下命令S:能鐵軌控制檯上完成等工作對我來說:
require 'sidekiq/api'
# 1. Clear retry set
Sidekiq::RetrySet.new.clear
# 2. Clear scheduled jobs
Sidekiq::ScheduledSet.new.clear
# 3. Clear 'Processed' and 'Failed' jobs statistics (OPTIONAL)
Sidekiq::Stats.new.reset
redis-cli flushdb
您還可以使用redis-cli flushall
由於最新Sidekiq的,只是炸掉它:
require 'sidekiq/api'
q = Sidekiq::Queue.new
q.
是,該命令清除全部是從字面上一個炸彈表情符號。也適用於Sidekiq::RetrySet
。
或者如果你沒有什麼好玩的,你可以使用q.clear
嘗試'包括:前「sidekiq''之前 – Benj
@BenjaminSinclaire它給人的TypeError錯誤的參數類型字符串(預期模塊) –
嘗試'需要」 sidekiq'' –