В моей боковой панели sidekiq я вижу слева поле со счетчиками
Processed 168
Failed 111
Busy 0
Scheduled 0
Retries 0
Enqueued 0
Как я reset их всех до 0?
В моей боковой панели sidekiq я вижу слева поле со счетчиками
Processed 168
Failed 111
Busy 0
Scheduled 0
Retries 0
Enqueued 0
Как я reset их всех до 0?
В reset обработанные задания:
Sidekiq.redis {|c| c.del('stat:processed') }
и reset сбойные задания:
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 спасибо за обновление)
Кроме того, к reset конкретным дням на панели истории вы можете:
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
Если вы хотите удалить все это вместе с панелью истории для определенных дат, вот полезный фрагмент:
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
Чтобы полностью удовлетворить все хорошие ответы, счетчики reset используют рубиновый интерактивный режим, делая это в консоли:
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
Это также будет reset история и полностью удалит все из очереди Redis
Sidekiq.redis {|c| c.flushdb }