Search code examples
rubysidekiq

Is there a ways to remove all sidekiq related entries in redis when I did not use a namespace?


I have a redis db that needs to be cleaned from all sidekiq related information (jobs, queues etc.), since sidekiq is being moved to it's own instance separated from the rest of my redis data. Is there a way to find all sidekiq related keys if I did not use a namespace for sidekiq?

EDIT This is what I did:

["retry", "schedule", "dead", "processes", "queues", "queue:*", "stat:*", "b-*", "unique:*", "loop*"].each do |k|
  if k.include?("*")
    REDIS.keys(k).each do |nk|
      REDIS.del(nk)
    end
  else
    REDIS.del(k)
  end
end

Solution

  • There's no standard prefix for all Sidekiq keys but most data is stored in a few keys:

    # Sidekiq
    retry
    schedule
    dead
    processes
    queues
    queue:*
    stat:*
    
    # Sidekiq Pro
    b-*
    
    # Sidekiq Enterprise
    unique:*
    loop*