Как очистить все задания от sidekiq?
Я использую sidekiq для фоновых задач в приложении Rails. Теперь количество рабочих мест становится больше, поэтому я хочу очистить все рабочие места. Я попробовал следующую команду в консоли
Sidekiq::Queue.new.clear
но это давало следующую ошибку.
NameError: uninitialized constant Sidekiq::Queue
Как очистить все задания от sidekiq?
6 ответов:
согласно этому вопросу на Github:https://github.com/mperham/sidekiq/issues/1732 Теперь вам нужно
require 'sidekiq/api'
вы можете сделать, как он говорит на вопрос 1077 или как сообщается в этом блог на noobsippets
оба предлагают нам сделать следующее, И это можно сделать на консоли rails:
Sidekiq.redis { |conn| conn.flushdb }
очистить команды заданий 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
как из последних Sidekiq, просто взорвать его:
require 'sidekiq/api' q = Sidekiq::Queue.new q.Да, команда очистить все это буквально бомба смайликов. Также работает для
Sidekiq::RetrySet.или, если вы не весело, вы можете использовать
q.clear
Comments