我在Rails应用程序中使用sidekiq来执行后台任务。现在工作的数量变多了,所以我想清除所有的工作。我在控制台中尝试了以下命令
Sidekiq::Queue.new.clear
但它给出了以下错误。
NameError: uninitialized constant Sidekiq::Queue
如何清除sidekiq中的所有作业?
发布于 2014-07-22 20:13:18
根据Github上的这个问题:https://github.com/mperham/sidekiq/issues/1732你现在需要
require 'sidekiq/api'
发布于 2016-07-30 16:59:13
清除Sidekiq作业命令:
require 'sidekiq/api'
# Clear retry set
Sidekiq::RetrySet.new.clear
# Clear scheduled jobs
Sidekiq::ScheduledSet.new.clear
# Clear 'Dead' jobs statistics
Sidekiq::DeadSet.new.clear
# Clear 'Processed' and 'Failed' jobs statistics
Sidekiq::Stats.new.reset
# Clear specific queue
stats = Sidekiq::Stats.new
stats.queues
# => {"main_queue"=>25, "my_custom_queue"=>1}
queue = Sidekiq::Queue.new('my_custom_queue')
queue.count
queue.clear
发布于 2017-12-08 01:37:13
在Sidekiq的最新版本中,只需将其放大:
require 'sidekiq/api'
q = Sidekiq::Queue.new
q.
是的,清除一切的命令就是一个炸弹表情符号。也适用于Sidekiq::RetrySet
。
或者,如果你觉得没意思,你可以使用q.clear
https://stackoverflow.com/questions/24886371
复制相似问题