Sha256: e345d8e5f1bfac824fc2dfa1e353f1b9255395837da18b49993a1b53cb99a3ea
Contents?: true
Size: 1.97 KB
Versions: 32
Compression:
Stored size: 1.97 KB
Contents
#!/usr/bin/env ruby # frozen_string_literal: true require 'vmpooler' require 'vmpooler/version' config = Vmpooler.config logger_file = config[:config]['logfile'] prefix = config[:config]['prefix'] redis_host = config[:redis]['server'] redis_port = config[:redis]['port'] redis_password = config[:redis]['password'] redis_connection_pool_size = config[:redis]['connection_pool_size'] redis_connection_pool_timeout = config[:redis]['connection_pool_timeout'] redis_reconnect_attempts = config[:redis]['reconnect_attempts'] tracing_enabled = config[:tracing]['enabled'] tracing_jaeger_host = config[:tracing]['jaeger_host'] logger = Vmpooler::Logger.new logger_file metrics = Vmpooler::Metrics.init(logger, config) version = Vmpooler::VERSION startup_args = ARGV Vmpooler.configure_tracing(startup_args, prefix, tracing_enabled, tracing_jaeger_host, version) torun_threads = [] if ARGV.count == 0 torun = %i[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 redis = Vmpooler.new_redis(redis_host, redis_port, redis_password) Vmpooler::API.execute(torun, config, redis, metrics, logger) end torun_threads << api elsif metrics.respond_to?(:setup_prometheus_metrics) # Run the cut down API - Prometheus Metrics only. prometheus_only_api = Thread.new do Vmpooler::API.execute(torun, config, nil, metrics, logger) end torun_threads << prometheus_only_api end if torun.include?(:manager) manager = Thread.new do Vmpooler::PoolManager.new( config, logger, Vmpooler.redis_connection_pool(redis_host, redis_port, redis_password, redis_connection_pool_size, redis_connection_pool_timeout, metrics, redis_reconnect_attempts), 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
32 entries across 32 versions & 1 rubygems