在我的sidekiq仪表板中,我在左侧看到一个带有计数器的框
Processed 168
Failed 111
Busy 0
Scheduled 0
Retries 0
Enqueued 0
如何将它们全部重置为0?
答案 0 :(得分:100)
答案 1 :(得分:93)
重置已处理的作业:
Sidekiq.redis {|c| c.del('stat:processed') }
并重置失败的作业:
Sidekiq.redis {|c| c.del('stat:failed') }
答案 2 :(得分:8)
此外,要重置历史记录面板中的特定日期,您可以执行以下操作:
sample
并重复你想要清除的每一天。
如果您有一个疯狂的工作产生并且失败的次数超过平时,这很有用,并且您获得了一个带有大量尖峰的历史图表,这使得您的所有常用历史值实际上都是平坦的。
答案 3 :(得分:2)
Sidekiq :: RetrySet.new.clear
Sidekiq :: ScheduledSet.new.clear
Sidekiq :: Stats.new.reset
Sidekiq :: DeadSet.new.clear
字体:https://gist.github.com/wbotelhos/fb865fba2b4f3518c8e533c7487d5354
答案 4 :(得分:1)
如果你想删除整个事情以及特定日期的历史记录面板,这是一个有用的片段:
/**
* @param request
* @param <T>
*/
public <T> void addToRequestQueue(Request<T> request) {
request.setRetryPolicy(new DefaultRetryPolicy(
MY_SOCKET_TIMEOUT_MS,
DefaultRetryPolicy.DEFAULT_MAX_RETRIES,
DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));
getRequestQueue().add(request);
}
答案 5 :(得分:1)
为了补充所有好的答案,使用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
答案 6 :(得分:-3)
这也将重置历史记录并完全删除Redis队列中的所有内容
Sidekiq.redis {|c| c.flushdb }