109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
|
# File 'app/models/logical/naf/construction_zone/boss.rb', line 109
def enqueue_n_commands_on_machines(parameters, number_of_jobs = :from_limit, machines = [])
logger.detail "enqueuing #{parameters[:command]} #{number_of_jobs} time(s) on #{machines.length} machine(s)"
machines.each do |machine|
number_of_jobs = (parameters[:application_run_group_quantum] || 1) if number_of_jobs == :from_limit
logger.info "enqueuing #{parameters[:command]} #{number_of_jobs} time(s) on #{machine}"
(1..number_of_jobs).each do
machine_parameters = {
application_run_group_restriction: ::Naf::ApplicationRunGroupRestriction.limited_per_machine
}.merge(parameters)
machine_parameters[:affinities] = [machine.affinity] + affinities(machine_parameters)
work_order = AdHocWorkOrder.new(machine_parameters)
@foreman.enqueue(work_order)
end
end
end
|