我如何重置我的sidekiq计数器?
在我的sidekiq仪表板中,我在左边看到一个带有计数器的盒子
Processed 168 Failed 111 Busy 0 Scheduled 0 Retries 0 Enqueued 0
我如何将它们重置为0?
重置已处理的作业:
Sidekiq.redis {|c| c.del('stat:processed') }
并重置失败的作业:
Sidekiq.redis {|c| c.del('stat:failed') }
重置统计信息:
Sidekiq::Stats.new.reset
ref: 将重置统计信息添加到Web UI摘要框和方法到API
另外,要重置历史logging面板中的特定date,您可以执行以下操作:
Sidekiq.redis {|c| c.del('stat:processed:2015-07-02') } Sidekiq.redis {|c| c.del('stat:failed:2015-07-02') }
并重复每一天你想清除。
这是非常有用的,如果你有一个疯狂的工作产卵和失败多次比平常多,你得到一个历史graphics与大量的穗,使所有你的平常历史价值有效地平坦线。
如果你想删除整个事情与历史logging面板的具体date,这里是有用的片段:
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
只是为了补充所有的好的答案,使用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
这也将重置历史logging,并完全从Redis队列中删除所有内容
Sidekiq.redis {|c| c.flushdb }