retries rails pricing perform now ruby-on-rails ruby sidekiq

ruby on rails - rails - ¿Cómo borrar todos los trabajos de sidekiq?



sidekiq rails jobs (5)

Estoy usando sidekiq para tareas en segundo plano en la aplicación Rails. Ahora la cantidad de trabajos aumenta, así que quiero borrar todos los trabajos. Intenté el siguiente comando en la consola

Sidekiq::Queue.new.clear

pero estaba dando el siguiente error.

NameError: uninitialized constant Sidekiq::Queue

¿Cómo borro todos los trabajos de sidekiq?


A partir de la última versión de Sidekiq, solo explórelo:

require ''sidekiq/api'' q = Sidekiq::Queue.new q.💣

Sí, el comando para borrar todo es literalmente un emoji de bomba. También funciona para Sidekiq::RetrySet .

O si no eres divertido, puedes usar q.clear


Borre los comandos de 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



Puedes hacer lo que dice en el número 1077 o como se informa en este blog en noobsippets

Ambos sugieren que hagamos lo siguiente, y se puede hacer en la consola de rieles:

Sidekiq.redis { |conn| conn.flushdb }


redis-cli flushdb

También puedes usar redis-cli flushall