diff options
author | Douwe Maan <douwe@selenight.nl> | 2017-06-01 16:36:04 -0500 |
---|---|---|
committer | Douwe Maan <douwe@selenight.nl> | 2017-06-02 11:43:32 -0500 |
commit | e4eac1fff1ba6d890f9f028dbfe47918b7876688 (patch) | |
tree | f4f08e065ca769e34c0e2139765b268c192260d2 /app/models/ci | |
parent | a9dbda8605f2c3111c4e4775edf7f931e4260a41 (diff) | |
download | gitlab-ce-e4eac1fff1ba6d890f9f028dbfe47918b7876688.tar.gz |
Don’t schedule workers from inside transactions
Diffstat (limited to 'app/models/ci')
-rw-r--r-- | app/models/ci/build.rb | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/app/models/ci/build.rb b/app/models/ci/build.rb index 58dfdd87652..2c2140c53b0 100644 --- a/app/models/ci/build.rb +++ b/app/models/ci/build.rb @@ -47,8 +47,8 @@ module Ci before_destroy { unscoped_project } after_create :execute_hooks - after_save :update_project_statistics, if: :artifacts_size_changed? - after_destroy :update_project_statistics + after_commit :update_project_statistics_after_save, on: [:create, :update] + after_commit :update_project_statistics, on: :destroy class << self # This is needed for url_for to work, @@ -491,5 +491,11 @@ module Ci ProjectCacheWorker.perform_async(project_id, [], [:build_artifacts_size]) end + + def update_project_statistics_after_save + if previous_changes.include?('artifacts_size') + update_project_statistics + end + end end end |