Nel mio sidekiq cruscotto, vedo sulla sinistra una scatola con i contatoriCome posso resettare i miei contatori sidekiq?
Processed 168
Failed 111
Busy 0
Scheduled 0
Retries 0
Enqueued 0
Come li ho resettato a 0?
Nel mio sidekiq cruscotto, vedo sulla sinistra una scatola con i contatoriCome posso resettare i miei contatori sidekiq?
Processed 168
Failed 111
Busy 0
Scheduled 0
Retries 0
Enqueued 0
Come li ho resettato a 0?
Per ripristinare i lavori elaborati:
Sidekiq.redis {|c| c.del('stat:processed') }
e per ripristinare i processi non riusciti:
Sidekiq.redis {|c| c.del('stat:failed') }
Per ripristinare le statistiche:
Sidekiq::Stats.new.reset
ref: Add reset stats to Web UI summary box and method to API
Inoltre, per azzerare giorni specifici nel pannello storia, si può fare:
Sidekiq.redis {|c| c.del('stat:processed:2015-07-02') }
Sidekiq.redis {|c| c.del('stat:failed:2015-07-02') }
e ripetere per ogni giorno che si desidera cancellare.
Questo è utile se si genera un lavoro selvaggio generando e fallendo molte volte di più del solito e si ottiene un grafico di storia con un picco enorme in esso che rende tutti i valori di cronologia abituale in modo efficace una linea piatta.
Nel caso in cui si desidera eliminare il tutto con il pannello Cronologia per date specifiche, qui è il frammento di utili:
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
Questo sarà anche resettare la storia e cancellare tutto dalla coda Redis completamente
Sidekiq.redis {|c| c.flushdb }
Questa è un'opzione nucleare e farà cadere tutto in quel database Redis, non solo le statistiche di Sidekiq. Ciò significa che perderesti qualsiasi nuovo lavoro di Sidekiq, qualsiasi sessione e qualsiasi altro dato per cui usi Redis. –
Grazie Parker, ero nel mezzo di qualcosa e non avevo finito il post ma sì sei corretto al 100%. – user1320651
Giusto per completare tutte le buone risposte, azzerare i contatori che utilizzano la modalità interattiva rubino, facendo questo in console:
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
Questo ha fatto il trucco, grazie! – Joe
L'API è stata aggiornata per accettare quali statistiche si desidera ripristinare [origine] (https://github.com/mperham/sidekiq/blob/v4.0.1/lib/sidekiq/api.rb#L95). Ora puoi cancellare le statistiche specifiche 'Sidekiq :: Stats.new.reset ('failed')' o multiple stats 'Sidekiq :: Stats.new.reset ('failed', 'processed')'. – tmr08c
Questa sembra la soluzione più preferita e IMO dovrebbe essere la risposta selezionata – Ben