web-dev-qa-db-ja.com

sidekiqカウンターをリセットするにはどうすればよいですか?

Sidekiqダッシュボードでは、左側にカウンターのあるボックスが表示されます

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

それらをすべて0にリセットするにはどうすればよいですか?

49
AgostinoX

処理済みのジョブをリセットするには:

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

失敗したジョブをリセットするには:

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

統計をリセットするには:

Sidekiq::Stats.new.reset

ref: Web UIサマリボックスにリセット統計を追加し、APIにメソッドを追加

101
Paul Keen

また、履歴パネルで特定の日をリセットするには、次を実行できます。

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

クリアしたい日ごとに繰り返します。

これは、通常よりも何倍も頻繁に発生して失敗する野生のジョブがあり、通常のすべての履歴値を事実上フラットラインにする大きなスパイクのある履歴グラフを取得する場合に役立ちます。

10
Mikel Lindsaar

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

2
Victor Hugo

すべての適切な答えを補完するために、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
1
Paulo Victor

特定の日付の履歴パネルとともにすべてを削除する場合は、次の便利なスニペットがあります。

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
1
Milovan Zogovic