Как да нулирам броячите на sidekiq?

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

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

Как да ги нулирам всички на 0?


person AgostinoX    schedule 05.04.2013    source източник


Отговори (7)


За да нулирате обработените задачи:

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

и за нулиране на неуспешни задачи:

Sidekiq.redis {|c| c.del('stat:failed') }
person Roberto Barros    schedule 29.04.2013

За да нулирате статистиката:

Sidekiq::Stats.new.reset

ref: Добавяне на статистически данни за нулиране към полето с резюме на уеб интерфейса и метод към API

Освен това вече можете да изчистите конкретни статистики:

  • единична статистика от Sidekiq::Stats.new.reset('failed')
  • или множество статистики от Sidekiq::Stats.new.reset('failed', 'processed')

(Благодаря https://stackoverflow.com/users/2475008/tmr08c за актуализацията)

person Paul Keen    schedule 13.12.2013
comment
API е актуализиран, за да приема кои статистики искате да нулирате източник. Така че вече можете да изчистите конкретни статистики Sidekiq::Stats.new.reset('failed') или множество статистики Sidekiq::Stats.new.reset('failed', 'processed'). - person tmr08c; 30.12.2015
comment
Това изглежда като по-предпочитаното решение и IMO трябва да бъде избраният отговор - person Ben; 01.02.2018

Също така, за да нулирате определени дни в панела с хронологията, можете да направите:

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

И повторете за всеки ден, който искате да изчистите.

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

person Mikel Lindsaar    schedule 02.07.2015

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

person Victor Hugo    schedule 26.06.2019

Само за да допълните всички добри отговори, нулирайте броячите с помощта на интерактивния режим 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
person Paulo Victor    schedule 25.10.2017

В случай, че искате да изтриете всичко заедно с панела за история за конкретни дати, ето полезния фрагмент:

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
person Milovan Zogovic    schedule 05.01.2017

Това също ще нулира хронологията и ще изтрие напълно всичко от опашката на Redis

Sidekiq.redis {|c| c.flushdb }
person user1320651    schedule 27.09.2017
comment
Това е ядрена опция и ще премахне всичко в тази база данни на Redis, не само статистиката на Sidekiq. Това означава, че ще загубите всички нови задания на Sidekiq, всякакви сесии и всякакви други данни, за които случайно използвате Redis. - person Parker Selbert; 27.09.2017
comment
Благодаря, Паркър, бях по средата на нещо и не бях завършил публикацията, но да, ти си 100% прав. - person user1320651; 27.09.2017
comment
Ядрената опция може да бъде много полезна, когато работите на етапен сървър/сървър за разработка. Благодаря ви за това. - person Jesse Farmer; 04.04.2019