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
4 changed files with 8 additions and 2 deletions
|
@ -220,6 +220,10 @@ module Ci
|
||||||
next unless build.project
|
next unless build.project
|
||||||
|
|
||||||
build.deployment&.drop
|
build.deployment&.drop
|
||||||
|
end
|
||||||
|
|
||||||
|
after_transition any => [:failed] do |build|
|
||||||
|
next unless build.project
|
||||||
|
|
||||||
if build.retry_failure?
|
if build.retry_failure?
|
||||||
begin
|
begin
|
||||||
|
|
|
@ -23,7 +23,7 @@ module Clusters
|
||||||
FETCH_IP_ADDRESS_DELAY = 30.seconds
|
FETCH_IP_ADDRESS_DELAY = 30.seconds
|
||||||
|
|
||||||
state_machine :status do
|
state_machine :status do
|
||||||
before_transition any => [:installed] do |application|
|
after_transition any => [:installed] do |application|
|
||||||
application.run_after_commit do
|
application.run_after_commit do
|
||||||
ClusterWaitForIngressIpAddressWorker.perform_in(
|
ClusterWaitForIngressIpAddressWorker.perform_in(
|
||||||
FETCH_IP_ADDRESS_DELAY, application.name, application.id)
|
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] }
|
self.reactive_cache_key = ->(knative) { [knative.class.model_name.singular, knative.id] }
|
||||||
|
|
||||||
state_machine :status do
|
state_machine :status do
|
||||||
before_transition any => [:installed] do |application|
|
after_transition any => [:installed] do |application|
|
||||||
application.run_after_commit do
|
application.run_after_commit do
|
||||||
ClusterWaitForIngressIpAddressWorker.perform_in(
|
ClusterWaitForIngressIpAddressWorker.perform_in(
|
||||||
FETCH_IP_ADDRESS_DELAY, application.name, application.id)
|
FETCH_IP_ADDRESS_DELAY, application.name, application.id)
|
||||||
|
|
|
@ -105,7 +105,9 @@ class MergeRequest < ActiveRecord::Base
|
||||||
|
|
||||||
before_transition any => :opened do |merge_request|
|
before_transition any => :opened do |merge_request|
|
||||||
merge_request.merge_jid = nil
|
merge_request.merge_jid = nil
|
||||||
|
end
|
||||||
|
|
||||||
|
after_transition any => :opened do |merge_request|
|
||||||
merge_request.run_after_commit do
|
merge_request.run_after_commit do
|
||||||
UpdateHeadPipelineForMergeRequestWorker.perform_async(merge_request.id)
|
UpdateHeadPipelineForMergeRequestWorker.perform_async(merge_request.id)
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in a new issue