Do not schedule bg migration when it is not needed
This commit is contained in:
parent
c467451ea6
commit
320229e12a
|
@ -17,7 +17,7 @@ class MigrateStageIdReferenceInBackground < ActiveRecord::Migration
|
||||||
# It will take around 3 days to process 20M ci_builds.
|
# It will take around 3 days to process 20M ci_builds.
|
||||||
#
|
#
|
||||||
def up
|
def up
|
||||||
Build.all.each_batch(of: BATCH_SIZE) do |relation, index|
|
Build.where(stage_id: nil).each_batch(of: BATCH_SIZE) do |relation, index|
|
||||||
relation.each_batch(of: RANGE_SIZE) do |relation|
|
relation.each_batch(of: RANGE_SIZE) do |relation|
|
||||||
range = relation.pluck('MIN(id)', 'MAX(id)').first
|
range = relation.pluck('MIN(id)', 'MAX(id)').first
|
||||||
|
|
||||||
|
|
|
@ -51,8 +51,7 @@ describe MigrateStageIdReferenceInBackground, :migration, :sidekiq do
|
||||||
expect(described_class::MIGRATION).to be_scheduled_migration(2.minutes, 1, 2)
|
expect(described_class::MIGRATION).to be_scheduled_migration(2.minutes, 1, 2)
|
||||||
expect(described_class::MIGRATION).to be_scheduled_migration(2.minutes, 3, 3)
|
expect(described_class::MIGRATION).to be_scheduled_migration(2.minutes, 3, 3)
|
||||||
expect(described_class::MIGRATION).to be_scheduled_migration(4.minutes, 4, 5)
|
expect(described_class::MIGRATION).to be_scheduled_migration(4.minutes, 4, 5)
|
||||||
expect(described_class::MIGRATION).to be_scheduled_migration(4.minutes, 6, 6)
|
expect(BackgroundMigrationWorker.jobs.size).to eq 3
|
||||||
expect(BackgroundMigrationWorker.jobs.size).to eq 4
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in New Issue