diff options
author | Shinya Maeda <shinya@gitlab.com> | 2018-05-31 16:12:20 +0900 |
---|---|---|
committer | Shinya Maeda <shinya@gitlab.com> | 2018-06-06 17:49:48 +0900 |
commit | 3b569fceff09db6471a054128d2cbf268e63964d (patch) | |
tree | da7fe1603c4aeb543c420c8f79ee1f464954c10f /app/models | |
parent | ded38d5f48721b772fe23f3b7856c385f42b4fff (diff) | |
download | gitlab-ce-3b569fceff09db6471a054128d2cbf268e63964d.tar.gz |
Clean up worker
Diffstat (limited to 'app/models')
-rw-r--r-- | app/models/ci/build_trace_chunk.rb | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/app/models/ci/build_trace_chunk.rb b/app/models/ci/build_trace_chunk.rb index 4856f10846c..4884e355c36 100644 --- a/app/models/ci/build_trace_chunk.rb +++ b/app/models/ci/build_trace_chunk.rb @@ -50,6 +50,21 @@ module Ci def finalize_fast_destroy(keys) redis_delete_data(keys) end + + # Find stale live traces and return their build ids + def find_stale(finished_before: 1.hour.ago) + include(EachBatch) + .select(:build_id) + .group(:build_id) + .joins(:build) + .merge(Ci::Build.finished) + .where('ci_builds.finished_at < ?', finished_before) + .each_batch(column: :build_id) do |chunks| + build_ids = chunks.map { |chunk| [chunk.build_id] } + + yield build_ids + end + end end ## |