class ChainedJob::CleanUpQueue
Constants
- TRIM_STEP_SIZE
Attributes
job_arguments_key[R]
Public Class Methods
new(job_arguments_key)
click to toggle source
# File lib/chained_job/clean_up_queue.rb, line 15 def initialize(job_arguments_key) @job_arguments_key = job_arguments_key end
run(job_arguments_key)
click to toggle source
# File lib/chained_job/clean_up_queue.rb, line 7 def self.run(job_arguments_key) new(job_arguments_key).run end
Public Instance Methods
run()
click to toggle source
rubocop:disable Metrics/AbcSize
# File lib/chained_job/clean_up_queue.rb, line 20 def run loop do tag = ChainedJob.redis.spop(tag_list) break unless tag redis_key = Helpers.redis_key(job_key, tag) size = ChainedJob.redis.llen(redis_key) (size / TRIM_STEP_SIZE).times { ChainedJob.redis.ltrim(redis_key, 0, -TRIM_STEP_SIZE) } ChainedJob.redis.del(redis_key) end end
Private Instance Methods
job_key()
click to toggle source
# File lib/chained_job/clean_up_queue.rb, line 41 def job_key @job_key ||= Helpers.job_key(job_arguments_key) end
tag_list()
click to toggle source
rubocop:enable Metrics/AbcSize
# File lib/chained_job/clean_up_queue.rb, line 37 def tag_list @tag_list ||= Helpers.tag_list(job_key) end