Sha256: d61b195580f2baaab9a740bcfa59efbeda9ed41f7f863cba372a5434e5f8587f
Contents?: true
Size: 1.12 KB
Versions: 23
Compression:
Stored size: 1.12 KB
Contents
#!/usr/bin/env ruby require 'vmpooler' config = Vmpooler.config redis_host = config[:redis]['server'] redis_port = config[:redis]['port'] redis_password = config[:redis]['password'] logger_file = config[:config]['logfile'] metrics = Vmpooler.new_metrics(config) torun_threads = [] if ARGV.count == 0 torun = ['api', 'manager'] else torun = [] torun << 'api' if ARGV.include? 'api' torun << 'manager' if ARGV.include? 'manager' exit(2) if torun.empty? end if torun.include? 'api' api = Thread.new do thr = Vmpooler::API.new redis = Vmpooler.new_redis(redis_host, redis_port, redis_password) thr.helpers.configure(config, redis, metrics) thr.helpers.execute! end torun_threads << api end if torun.include? 'manager' manager = Thread.new do Vmpooler::PoolManager.new( config, Vmpooler.new_logger(logger_file), Vmpooler.new_redis(redis_host, redis_port, redis_password), metrics ).execute! end torun_threads << manager end if ENV['VMPOOLER_DEBUG'] trap('INT') do puts 'Shutting down.' torun_threads.each(&:exit) end end torun_threads.each do |th| th.join end
Version data entries
23 entries across 23 versions & 1 rubygems