Can*_*Can 101 ruby ruby-on-rails sidekiq
我在Rails应用程序中使用sidekiq作为后台任务.现在工作的数量变得更多,所以我想清除所有的工作.我在控制台中尝试了以下命令
Sidekiq::Queue.new.clear
Run Code Online (Sandbox Code Playgroud)
但它给出了以下错误.
NameError: uninitialized constant Sidekiq::Queue
Run Code Online (Sandbox Code Playgroud)
如何清除sidekiq的所有工作?
jon*_*xto 186
您可以按照问题1077或在本博客noobsippets中报告的方式进行操作
两者都建议我们执行以下操作,并且可以在rails控制台上完成:
Sidekiq.redis { |conn| conn.flushdb }
rus*_*ils 66
清除Sidekiq Jobs命令:
require 'sidekiq/api'
# Clear retry set
Sidekiq::RetrySet.new.clear
# Clear scheduled jobs
Sidekiq::ScheduledSet.new.clear
# Clear 'Dead' jobs statistics
Sidekiq::DeadSet.new.clear
# Clear 'Processed' and 'Failed' jobs statistics
Sidekiq::Stats.new.reset
# Clear specific queue
stats = Sidekiq::Stats.new
stats.queues
# => {"main_queue"=>25, "my_custom_queue"=>1}
queue = Sidekiq::Queue.new('my_custom_queue')
queue.count
queue.clear
Run Code Online (Sandbox Code Playgroud)
小智 57
根据Github上的这个问题:https://github.com/mperham/sidekiq/issues/1732你现在需要
require 'sidekiq/api'
Run Code Online (Sandbox Code Playgroud)
Xav*_*ier 30
截至最新的Sidekiq,只需将其炸掉:
require 'sidekiq/api'
q = Sidekiq::Queue.new
q.
Run Code Online (Sandbox Code Playgroud)
是的,清除所有的命令实际上是一个炸弹表情符号.也适用于Sidekiq::RetrySet.
或者,如果你没有乐趣,你可以使用 q.clear
Sai*_*ddy 18
redis-cli flushdb
Run Code Online (Sandbox Code Playgroud)
你也可以使用 redis-cli flushall
小智 12
require 'sidekiq/api'
Sidekiq::Queue.all.each {|x| x.clear}
Run Code Online (Sandbox Code Playgroud)
fan*_*ing 11
在一行中使用Rails runner
rails runner 'Sidekiq.redis { |conn| conn.flushdb }'
Run Code Online (Sandbox Code Playgroud)
所有Sidekiq任务都保存在“ Redis”中。
您可以通过此命令清除“ Redis”
redis-cli flushall
Run Code Online (Sandbox Code Playgroud)
小智 6
您可以使用它清除所有作业
require 'sidekiq/api'
Sidekiq::Queue.all.each(&:clear)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
58560 次 |
| 最近记录: |