В приборной панели моего sidekiq я вижу слева коробку со счетчиками
Processed 168
Failed 111
Busy 0
Scheduled 0
Retries 0
Enqueued 0
Как сбросить их все на 0?
В приборной панели моего sidekiq я вижу слева коробку со счетчиками
Processed 168
Failed 111
Busy 0
Scheduled 0
Retries 0
Enqueued 0
Как сбросить их все на 0?
Чтобы сбросить обработанные задания:
Sidekiq.redis {|c| c.del('stat:processed') }
и для сброса неудачных заданий:
Sidekiq.redis {|c| c.del('stat:failed') }
Чтобы сбросить статистику:
Sidekiq::Stats.new.reset
ref: Добавить сброс статистики в окно сводки веб-интерфейса и метод в API
Кроме того, теперь вы можете очистить определенную статистику:
Sidekiq::Stats.new.reset('failed')
Sidekiq::Stats.new.reset('failed', 'processed')
(Спасибо https://stackoverflow.com/users/2475008/tmr08c за обновление)
Sidekiq::Stats.new.reset('failed')
или несколько статистик Sidekiq::Stats.new.reset('failed', 'processed')
.
- person tmr08c; 30.12.2015
Кроме того, чтобы сбросить определенные дни в панели истории, вы можете сделать:
Sidekiq.redis {|c| c.del('stat:processed:2015-07-02') }
Sidekiq.redis {|c| c.del('stat:failed:2015-07-02') }
И повторяйте для каждого дня, который вы хотите очистить.
Это полезно, если у вас возникало и терпело неудачу дикое задание во много раз чаще, чем обычно, и вы получаете график истории с огромным всплеском, который превращает все ваши обычные значения истории в плоскую линию.
Sidekiq::RetrySet.new.clear
Sidekiq::ScheduledSet.new.clear
Sidekiq::Stats.new.reset
Sidekiq::DeadSet.new.clear
Шрифт: https://gist.github.com/wbotelhos/fb865fba2b4f3518c8e533c7487d5354
Просто чтобы дополнить все хорошие ответы, сбросьте счетчики, используя интерактивный режим ruby, выполнив это в консоли:
irb
irb(main):001:0> require 'sidekiq/api'
=> true
irb(main):002:0> Sidekiq.redis {|c| c.del('stat:processed') }
=> 1
irb(main):003:0> Sidekiq.redis {|c| c.del('stat:failed') }
=> 1
Если вы хотите удалить все это вместе с панелью истории для определенных дат, вот полезный фрагмент:
from_date = Date.new(2016, 1, 1)
to_date = Date.today
Sidekiq.redis do |redis|
redis.del("stat:processed")
redis.del("stat:failed")
(from_date..to_date).each do |date|
redis.del("stat:processed:#{date}")
redis.del("stat:failed:#{date}")
end
end
Это также сбросит историю и полностью удалит все из очереди Redis.
Sidekiq.redis {|c| c.flushdb }