Sha256: edc2cbed93b1d248b9d578a2d7e028a99f339925f1a8f627ab37337c8a4d2f68

Contents?: true

Size: 1.18 KB

Versions: 7

Compression:

Stored size: 1.18 KB

Contents

require 'thor'

module SidekiqUniqueJobs
  class Cli < Thor
    desc 'keys PATTERN', 'list all unique keys and their expiry time'
    option :count, aliases: :c, type: :numeric, default: 1000, desc: 'The max number of keys to return'
    def keys(pattern)
      Util.keys(pattern, options[:count])
    end

    desc 'del PATTERN', 'deletes unique keys from redis by pattern'
    option :dry_run, aliases: :d, type: :boolean, desc: 'set to false to perform deletion'
    option :count, aliases: :c, type: :numeric, default: 1000, desc: 'The max number of keys to return'
    def del(pattern)
      Util.del(pattern, count, dry_run)
    end

    desc 'drop into a console', 'easy access to helper methods'
    def console
      puts "Use `keys '*', 1000 to display the first 1000 unique keys matching '*'"
      puts "Use `del '*', 1000, true (default) to see how many keys would be deleted for the pattern '*'"
      puts "Use `del '*', 1000, false to delete the first 1000 keys matching '*'"
      Object.include SidekiqUniqueJobs::Util
      console_class.start
    end

    private

    def console_class
      require 'pry'
      Pry
    rescue LoadError
      require 'irb'
      IRB
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
sidekiq-unique-jobs-4.0.17 lib/sidekiq_unique_jobs/cli.rb
sidekiq-unique-jobs-4.0.16 lib/sidekiq_unique_jobs/cli.rb
sidekiq-unique-jobs-4.0.15 lib/sidekiq_unique_jobs/cli.rb
sidekiq-unique-jobs-4.0.13 lib/sidekiq_unique_jobs/cli.rb
sidekiq-unique-jobs-4.0.12 lib/sidekiq_unique_jobs/cli.rb
sidekiq-unique-jobs-4.0.11 lib/sidekiq_unique_jobs/cli.rb
sidekiq-unique-jobs-4.0.10 lib/sidekiq_unique_jobs/cli.rb