class Bosh::Director::DeploymentPlan::ParallelMultiJobUpdater
Public Class Methods
new(job_updater_factory)
click to toggle source
# File lib/bosh/director/deployment_plan/multi_job_updater.rb, line 21 def initialize(job_updater_factory) @job_updater_factory = job_updater_factory end
Public Instance Methods
run(base_job, deployment_plan, jobs)
click to toggle source
# File lib/bosh/director/deployment_plan/multi_job_updater.rb, line 25 def run(base_job, deployment_plan, jobs) base_job.logger.info("Updating jobs in parallel: #{jobs.map(&:name).join(', ')}") base_job.task_checkpoint ThreadPool.new(max_threads: jobs.size).wrap do |pool| jobs.each do |j| pool.process do base_job.logger.info("Updating job: #{j.name}") job_updater = @job_updater_factory.new_job_updater(deployment_plan, j) job_updater.update end end end end