Sha256: 18997efed660dfe78f8387f5dc5f5fce8368c31fd2509ae9c87c7c7052f56916
Contents?: true
Size: 1.98 KB
Versions: 2
Compression:
Stored size: 1.98 KB
Contents
require 'thor' module SidekiqUniqueJobs class Cli < Thor # def initialize(argv, stdin = STDIN, stdout = STDOUT, stderr = STDERR, kernel = Kernel) # @argv, @stdin, @stdout, @stderr, @kernel = argv, stdin, stdout, stderr, kernel # end def self.banner(command, _namespace = nil, _subcommand = false) "jobs #{@package_name} #{command.usage}" end 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) keys = Util.keys(pattern, options[:count]) say "Found #{keys.size} keys matching '#{pattern}':" print_in_columns(keys.sort) if keys.any? 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) deleted_count = Util.del(pattern, options[:count], options[:dry_run]) say "Deleted #{deleted_count} keys matching '#{pattern}'" end desc 'expire', 'removes all expired unique keys from the hash in redis' def expire expired = Util.expire say "Removed #{expired.values.size} left overs from redis." print_in_columns(expired.values) end desc 'console', 'drop into a console with easy access to helper methods' 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 private def logger SidekiqUniqueJobs.logger end def console_class require 'pry' Pry rescue LoadError require 'irb' IRB end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
sidekiq-unique-jobs-5.0.2 | lib/sidekiq_unique_jobs/cli.rb |
sidekiq-unique-jobs-5.0.1 | lib/sidekiq_unique_jobs/cli.rb |