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

Version Path
vmpooler-0.10.3 bin/vmpooler
vmpooler-0.10.2 bin/vmpooler
vmpooler-0.9.1 bin/vmpooler
vmpooler-0.9.0 bin/vmpooler
vmpooler-0.8.2 bin/vmpooler
vmpooler-0.8.1 bin/vmpooler
vmpooler-0.8.0 bin/vmpooler
vmpooler-0.7.2 bin/vmpooler
vmpooler-0.7.1 bin/vmpooler
vmpooler-0.7.0 bin/vmpooler
vmpooler-0.6.3 bin/vmpooler
vmpooler-0.6.2 bin/vmpooler
vmpooler-0.6.1 bin/vmpooler
vmpooler-0.6.0 bin/vmpooler
vmpooler-0.5.1 bin/vmpooler
vmpooler-0.5.0 bin/vmpooler
vmpooler-0.4.0 bin/vmpooler
vmpooler-0.3.0 bin/vmpooler
vmpooler-0.2.31 bin/vmpooler
vmpooler-0.2.2 bin/vmpooler