Class: Gitlab::Database::Migrations::TestBackgroundRunner

Inherits:
BaseBackgroundRunner show all
Defined in:
lib/gitlab/database/migrations/test_background_runner.rb

Instance Attribute Summary

Attributes inherited from BaseBackgroundRunner

#connection, #result_dir

Instance Method Summary collapse

Methods inherited from BaseBackgroundRunner

#run_jobs

Constructor Details

#initialize(result_dir:) ⇒ TestBackgroundRunner

Returns a new instance of TestBackgroundRunner.



7
8
9
10
# File 'lib/gitlab/database/migrations/test_background_runner.rb', line 7

def initialize(result_dir:)
  super(result_dir: result_dir, connection: ActiveRecord::Migration.connection)
  @job_coordinator = Gitlab::BackgroundMigration.coordinator_for_database(Gitlab::Database::MAIN_DATABASE_NAME)
end

Instance Method Details

#jobs_by_migration_nameObject



16
17
18
19
# File 'lib/gitlab/database/migrations/test_background_runner.rb', line 16

def jobs_by_migration_name
  traditional_background_migrations.group_by { |j| class_name_for_job(j) }
                                   .transform_values(&:shuffle)
end

#traditional_background_migrationsObject



12
13
14
# File 'lib/gitlab/database/migrations/test_background_runner.rb', line 12

def traditional_background_migrations
  @job_coordinator.pending_jobs
end