Class: SidekiqUniqueJobs::Cli

Inherits:
Thor
  • Object
show all
Defined in:
lib/sidekiq_unique_jobs/cli.rb

Overview

Command line interface for unique jobs

Author:

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details



12
13
14
# File 'lib/sidekiq_unique_jobs/cli.rb', line 12

def self.banner(command, _namespace = nil, _subcommand = false)
  "jobs #{@package_name} #{command.usage}"
end

Instance Method Details

#consoleObject



39
40
41
42
43
44
45
# File 'lib/sidekiq_unique_jobs/cli.rb', line 39

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

#del(pattern) ⇒ Object



27
28
29
30
31
32
33
34
35
36
# File 'lib/sidekiq_unique_jobs/cli.rb', line 27

def del(pattern)
  max_count = options[:count]
  if options[:dry_run]
    keys = Util.keys(pattern, max_count)
    say "Would delete #{keys.size} keys matching '#{pattern}'"
  else
    deleted_count = Util.del(pattern, max_count)
    say "Deleted #{deleted_count} keys matching '#{pattern}'"
  end
end

#keys(pattern = "*") ⇒ Object



18
19
20
21
22
# File 'lib/sidekiq_unique_jobs/cli.rb', line 18

def keys(pattern = "*")
  keys = Util.keys(pattern, options[:count])
  say "Found #{keys.size} keys matching '#{pattern}':"
  print_in_columns(keys.sort) if keys.any?
end