Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app/workers/stuck_ci_jobs_worker.rb13
1 files changed, 9 insertions, 4 deletions
diff --git a/app/workers/stuck_ci_jobs_worker.rb b/app/workers/stuck_ci_jobs_worker.rb
index 566b4507965..365a77c5be4 100644
--- a/app/workers/stuck_ci_jobs_worker.rb
+++ b/app/workers/stuck_ci_jobs_worker.rb
@@ -45,12 +45,17 @@ class StuckCiJobsWorker
end
def search(status, timeout)
- Ci::Build.where(status: status).in_batches(of: 1000) do |batch|
- batch = batch.where('ci_builds.updated_at < ?', timeout.ago)
+ loop do
+ jobs = Ci::Build.where(status: status)
+ .where('ci_builds.updated_at < ?', timeout.ago)
.joins(:project).merge(Project.without_deleted)
.includes(:tags, :runner, project: :namespace)
- batch.each do |build|
- yield(build)
+ .limit(100)
+ .to_a
+ break if jobs.empty?
+
+ jobs.each do |job|
+ yield(job)
end
end
end