Sha256: f8023acb82a7fa5cd7777c00e4c684a41413b0333a975979e617b2f7a7717b4f
Contents?: true
Size: 1.06 KB
Versions: 1
Compression:
Stored size: 1.06 KB
Contents
#!/usr/bin/env ruby # frozen_string_literal: true # Usage: time RUBYOPT="-W0" bin/quiqload require_relative '../lib/quiq' require_relative '../testapp/config/environment.rb' require 'optparse' options = { number: 10_000, wait: 1 } OptionParser.new do |opts| opts.banner = 'Usage: quiqload [options]' opts.on('-n', '--number JOBS', Integer, 'Number of jobs to enqueue') do |number| options[:number] = number.to_i end opts.on('-w', '--wait DURATION', Integer, 'Idle time within each job (in seconds)') do |wait| options[:wait] = wait.to_i end opts.on_tail('-h', '--help', 'Show this message') do puts opts exit end end.parse! Quiq.logger.info("Enqueuing #{options[:number]} jobs") options[:number].times { |i| TestJob.perform_later(i, options[:wait]) } Thread.new do loop do queue_size = Async do queue = Quiq::Queue.processing_name('default') Quiq.redis.llen queue end.wait if queue_size.zero? Quiq.logger.info("Done processing #{options[:number]} jobs") break end sleep 0.1 end end.join
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
quiq-0.2.0 | bin/quiqload |