Подтвердить что ты не робот

Как я reset мои счетчики sidekiq?

В моей боковой панели sidekiq я вижу слева поле со счетчиками

Processed 168
Failed 111
Busy 0
Scheduled 0
Retries 0
Enqueued 0

Как я reset их всех до 0?

4b9b3361

Ответ 1

В reset обработанные задания:

Sidekiq.redis {|c| c.del('stat:processed') }

и reset сбойные задания:

Sidekiq.redis {|c| c.del('stat:failed') }

Ответ 2

Чтобы сбросить статистику:

Sidekiq::Stats.new.reset

ref: Добавить статистику сброса в сводный блок веб-интерфейса и метод в API

Кроме того, теперь вы можете очистить определенную статистику:

  • один стат Sidekiq::Stats.new.reset('failed')
  • или несколько статистик по Sidekiq::Stats.new.reset('failed', 'processed')

(https://stackoverflow.com/users/2475008/tmr08c спасибо за обновление)

Ответ 3

Кроме того, к reset конкретным дням на панели истории вы можете:

Sidekiq.redis {|c| c.del('stat:processed:2015-07-02') }
Sidekiq.redis {|c| c.del('stat:failed:2015-07-02') }

И повторите для каждого дня, который вы хотите очистить.

Это полезно, если у вас возникла дикая работа, и она не срабатывала во много раз больше, чем ваша обычная, и вы получаете график истории с массивным всплеском в нем, что делает ваши обычные исторические значения эффективными для плоской линии.

Ответ 4

1. Очистить набор повторов

Sidekiq :: RetrySet.new.clear

2. Очистить запланированные работы

Sidekiq :: ScheduledSet.new.clear

3. Очистить "Обработанные" и "Неудачные" задания

Sidekiq :: Stats.new.reset

3. Очистить "мертвую" статистику вакансий

Sidekiq :: DeadSet.new.clear

Шрифт: https://gist.github.com/wbotelhos/fb865fba2b4f3518c8e533c7487d5354

Ответ 5

Если вы хотите удалить все это вместе с панелью истории для определенных дат, вот полезный фрагмент:

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

Ответ 6

Чтобы полностью удовлетворить все хорошие ответы, счетчики 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

Ответ 7

Это также будет reset история и полностью удалит все из очереди Redis

Sidekiq.redis {|c| c.flushdb }