2013-04-05 15 views

Antwort

84

verarbeiteter Jobs zurück:

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

und fehlgeschlagene Aufträge zurück:

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

Reset-Statistik an:

Sidekiq::Stats.new.reset

ref: Add reset stats to Web UI summary box and method to API

+0

Das hat den Trick, danke! – Joe

+3

Die API wurde aktualisiert und akzeptiert nun, welche Statistiken zurückgesetzt werden sollen [Quelle] (https://github.com/mperham/sidekiq/blob/v4.0.1/lib/sidekiq/api.rb#L95). So können Sie nun bestimmte Statistiken 'Sidekiq :: Stats.new.reset ('failed')' oder mehrere Statistiken 'Sidekiq :: Stats.new.reset ('failed', 'processed')' löschen. – tmr08c

+0

Dies scheint wie die bevorzugte Lösung und IMO sollte die ausgewählte Antwort – Ben

7

Auch bestimmte Tage in der Geschichte Feld zurückgesetzt werden, können Sie tun:

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

und wiederholen Sie für jeden Tag, den Sie löschen möchten.

Dies ist nützlich, wenn Sie einen wilden Job laichen und viele Male häufiger als üblich fehlschlagen und Sie erhalten einen Verlaufsgraphen mit einer massiven Spitze darin, die alle Ihre üblichen historischen Werte effektiv eine flache Linie macht.

1

Falls Sie zusammen mit dem Verlaufsfeld für ein bestimmtes Datum, die ganze Sache zu löschen, hier ist das hilfreich Schnipsel:

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 
-3

Dies auch die Geschichte zurückgesetzt wird und alles aus der Warteschlange Redis löschen vollständig

Sidekiq.redis {|c| c.flushdb } 
+1

Dies ist eine nukleare Option und wird alles in diese Redis-Datenbank fallen, nicht nur Sidekiq Statistiken. Das bedeutet, dass Sie neue Sidekiq-Jobs, Sitzungen und andere Daten verlieren, für die Sie Redis verwenden. –

+0

Dank Parker, ich war in der Mitte von etwas und hatte den Beitrag nicht fertig, aber ja, Sie sind zu 100% korrekt. – user1320651

1

einfach alle guten Antworten zu ergänzen, Zähler zurücksetzen rubin interaktiven Modus verwenden, tun dies in die Konsole:

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 
Verwandte Themen