Как очистить все задания от sidekiq?



Я использую sidekiq для фоновых задач в приложении Rails. Теперь количество рабочих мест становится больше, поэтому я хочу очистить все рабочие места. Я попробовал следующую команду в консоли



Sidekiq::Queue.new.clear


но это давало следующую ошибку.



NameError: uninitialized constant Sidekiq::Queue 


Как очистить все задания от sidekiq?

625   6  

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

redis-cli flushdb

вы также можете использовать redis-cli flushall

использовать рельсы бегун в одной строке

rails runner 'Sidekiq.redis { |conn| conn.flushdb }'

Comments

    Ничего не найдено.