Sha256: 4680dc00b6399ff4ccd7139daf0e2174ef55b3973a3ea8787dbf1e2206463a6d

Contents?: true

Size: 1.14 KB

Versions: 5

Compression:

Stored size: 1.14 KB

Contents

#!/usr/bin/env ruby
# frozen_string_literal: true

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(&:join)

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
vmpooler-0.12.0 bin/vmpooler
vmpooler-0.11.3 bin/vmpooler
vmpooler-0.11.2 bin/vmpooler
vmpooler-0.11.1 bin/vmpooler
vmpooler-0.11.0 bin/vmpooler