diff options
Diffstat (limited to 'lib/gitlab/database/background_migration/batched_migration.rb')
-rw-r--r-- | lib/gitlab/database/background_migration/batched_migration.rb | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/lib/gitlab/database/background_migration/batched_migration.rb b/lib/gitlab/database/background_migration/batched_migration.rb index 9d66824da51..d9fc2ea48f6 100644 --- a/lib/gitlab/database/background_migration/batched_migration.rb +++ b/lib/gitlab/database/background_migration/batched_migration.rb @@ -68,6 +68,17 @@ module Gitlab ) end + def retry_failed_jobs! + batched_jobs.failed.each_batch(of: 100) do |batch| + self.class.transaction do + batch.lock.each(&:split_and_retry!) + self.active! + end + end + + self.active! + end + def next_min_value last_job&.max_value&.next || min_value end |