34 lines
937 B
Ruby
34 lines
937 B
Ruby
# frozen_string_literal: true
|
|
|
|
module Admin
|
|
module DashboardHelper
|
|
def dashboard_data
|
|
{docker: docker_data}
|
|
end
|
|
|
|
def docker_data
|
|
pool_size = begin
|
|
Runner.strategy_class.pool_size
|
|
rescue Runner::Error => e
|
|
Rails.logger.debug { "Runner error while fetching current pool size: #{e.message}" }
|
|
[]
|
|
end
|
|
|
|
ExecutionEnvironment.order(:id).select(:id, :pool_size).map do |execution_environment|
|
|
# Fetch the actual values (ID is stored as a symbol) or get an empty hash for merge
|
|
actual = pool_size[execution_environment.id.to_s.to_sym] || {}
|
|
|
|
template = {
|
|
id: execution_environment.id,
|
|
prewarmingPoolSize: execution_environment.pool_size,
|
|
idleRunners: 0,
|
|
usedRunners: 0,
|
|
}
|
|
|
|
# Existing values in the template get replaced with actual values
|
|
template.merge(actual)
|
|
end
|
|
end
|
|
end
|
|
end
|