ManageIQ/miq_bot

View on GitHub
lib/console_methods.rb

Summary

Maintainability
A
0 mins
Test Coverage
module ConsoleMethods
  def simulate_sidekiq(*queue_names, run_once: false)
    run = true
    while run do
      queue_names.each do |queue_name|
        puts "[#{Time.now}] Processing '#{queue_name}'..."
        Sidekiq::Queue.new(queue_name).each do |job|
          worker = job['class'].constantize
          args = job['args']
          puts "\nProcessing #{worker} with args: #{args}"
          worker.new.perform(*job['args'])
          job.delete
        end
      end
      run = false if run_once
      sleep(2)
    end
  end
end