Prefer to use after_transition
Before_transition does not play nice when used with OptimisticLocking and this can result in triggering multiple events Closes https://gitlab.com/gitlab-org/gitlab-ce/issues/55306
This commit is contained in:
parent
1a83d9387f
commit
7ebd36e302
|
@ -220,6 +220,10 @@ module Ci
|
|||
next unless build.project
|
||||
|
||||
build.deployment&.drop
|
||||
end
|
||||
|
||||
after_transition any => [:failed] do |build|
|
||||
next unless build.project
|
||||
|
||||
if build.retry_failure?
|
||||
begin
|
||||
|
|
|
@ -23,7 +23,7 @@ module Clusters
|
|||
FETCH_IP_ADDRESS_DELAY = 30.seconds
|
||||
|
||||
state_machine :status do
|
||||
before_transition any => [:installed] do |application|
|
||||
after_transition any => [:installed] do |application|
|
||||
application.run_after_commit do
|
||||
ClusterWaitForIngressIpAddressWorker.perform_in(
|
||||
FETCH_IP_ADDRESS_DELAY, application.name, application.id)
|
||||
|
|
|
@ -20,7 +20,7 @@ module Clusters
|
|||
self.reactive_cache_key = ->(knative) { [knative.class.model_name.singular, knative.id] }
|
||||
|
||||
state_machine :status do
|
||||
before_transition any => [:installed] do |application|
|
||||
after_transition any => [:installed] do |application|
|
||||
application.run_after_commit do
|
||||
ClusterWaitForIngressIpAddressWorker.perform_in(
|
||||
FETCH_IP_ADDRESS_DELAY, application.name, application.id)
|
||||
|
|
|
@ -105,7 +105,9 @@ class MergeRequest < ActiveRecord::Base
|
|||
|
||||
before_transition any => :opened do |merge_request|
|
||||
merge_request.merge_jid = nil
|
||||
end
|
||||
|
||||
after_transition any => :opened do |merge_request|
|
||||
merge_request.run_after_commit do
|
||||
UpdateHeadPipelineForMergeRequestWorker.perform_async(merge_request.id)
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue