在Sidekiq中删除所有计划的任务

问题描述 投票:1回答:2

我正在使用Rails,并在sidekiq上运行了许多计划任务,无论如何,我想从计划列表中删除所有这些任务。我想知道是否有任何可以运行的Rails命令清除所有这些东西?

ruby-on-rails ruby-on-rails-4 ruby-on-rails-5 scheduled-tasks sidekiq
2个回答
7
投票

有。如果要删除所有队列中的预定作业,可以执行以下操作:

require 'sidekiq/api'
Sidekiq::ScheduledSet.new.clear

查看Sidekiq API了解更多详细信息。如果需要选择性地删除作业,则可以使用文档中描述的#scan方法。


3
投票

接受的答案对我不起作用。我清除队列的方法是:

Sidekiq::ScheduledSet.new.clear

如果需要清除计划的队列,则可能还需要清除其他队列:

Sidekiq::RetrySet.new.clear
Sidekiq::Queue.new("your_queue_name").clear
Sidekiq::Queue.all.each(&:clear)
© www.soinside.com 2019 - 2024. All rights reserved.