diff options
Diffstat (limited to 'app/models/ci/build.rb')
-rw-r--r-- | app/models/ci/build.rb | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/app/models/ci/build.rb b/app/models/ci/build.rb index d93e7cb896f..f8fcab0e2f0 100644 --- a/app/models/ci/build.rb +++ b/app/models/ci/build.rb @@ -583,6 +583,21 @@ module Ci super(options).merge(when: read_attribute(:when)) end + # Find stale live traces and return their build ids + def self.find_builds_from_stale_live_traces + binding.pry + + Ci::BuildTraceChunk + .include(EachBatch).select(:build_id).group(:build_id).joins(:build) + .merge(Ci::Build.finished).where('ci_builds.finished_at < ?', 1.hour.ago) + .each_batch(column: :build_id) do |chunks| + build_ids = chunks.map { |chunk| chunk.build_id } + + binding.pry + yield where(id: build_ids) + end + end + private def update_artifacts_size |