class Workerholic::CLI
Attributes
logger[R]
options[R]
Public Class Methods
new()
click to toggle source
# File lib/workerholic/cli.rb, line 13 def initialize @logger = LogManager.new end
Public Instance Methods
run()
click to toggle source
# File lib/workerholic/cli.rb, line 17 def run parse_options Starter.options = options Starter.start end
Private Instance Methods
parse_options()
click to toggle source
# File lib/workerholic/cli.rb, line 26 def parse_options @options = {} OptionParser.new do |opts| opts.banner = 'Usage: workerholic [options]' opts.on '-a', '--auto-balance', 'auto-balance workers based on number of jobs in each queue' do options[:auto_balance] = true end opts.on '-w', '--workers INT', 'number of concurrent workers' do |count| count = count.to_i if count < 1 logger.error('Invalid number of workers. Please specify a valid number.') exit else options[:workers] = count.to_i end end opts.on '-r', '--require PATH', 'file to be required to load your application' do |file| options[:require] = file end opts.on '-h', '--help', 'show help' do logger.info(opts) exit end opts.on '-p', '--processes INT', 'number of processes to start in parallel' do |count| count = count.to_i if count < 1 logger.error('Invalid number of processes. Please specify a valid number.') exit else options[:processes] = count.to_i end end opts.on '-c', '--connections INT', 'number of connections for redis connection pool' do |count| count = count.to_i if count < 1 logger.error('Invalid number of redis connections. Please specify a valid number.') exit else options[:redis_connections] = count.to_i end end end.parse! end