summaryrefslogtreecommitdiff
path: root/app/models/commit_status.rb
diff options
context:
space:
mode:
authorDouwe Maan <douwe@selenight.nl>2017-06-01 16:36:04 -0500
committerDouwe Maan <douwe@selenight.nl>2017-06-02 11:43:32 -0500
commite4eac1fff1ba6d890f9f028dbfe47918b7876688 (patch)
treef4f08e065ca769e34c0e2139765b268c192260d2 /app/models/commit_status.rb
parenta9dbda8605f2c3111c4e4775edf7f931e4260a41 (diff)
downloadgitlab-ce-e4eac1fff1ba6d890f9f028dbfe47918b7876688.tar.gz
Don’t schedule workers from inside transactions
Diffstat (limited to 'app/models/commit_status.rb')
-rw-r--r--app/models/commit_status.rb7
1 files changed, 4 insertions, 3 deletions
diff --git a/app/models/commit_status.rb b/app/models/commit_status.rb
index fe63728ea23..ce507f7774b 100644
--- a/app/models/commit_status.rb
+++ b/app/models/commit_status.rb
@@ -18,7 +18,7 @@ class CommitStatus < ActiveRecord::Base
validates :name, presence: true
alias_attribute :author, :user
-
+
scope :failed_but_allowed, -> do
where(allow_failure: true, status: [:failed, :canceled])
end
@@ -83,14 +83,15 @@ class CommitStatus < ActiveRecord::Base
next if transition.loopback?
commit_status.run_after_commit do
- pipeline.try do |pipeline|
+ if pipeline
if complete? || manual?
PipelineProcessWorker.perform_async(pipeline.id)
else
PipelineUpdateWorker.perform_async(pipeline.id)
end
- ExpireJobCacheWorker.perform_async(commit_status.id)
end
+
+ ExpireJobCacheWorker.perform_async(commit_status.id)
end
end