Use serializable transaction for EPP domain:renew

#430
This commit is contained in:
Artur Beljajev 2017-04-15 23:41:01 +03:00
parent 2cfcb6d54c
commit d79ce87fba

View file

@ -105,7 +105,10 @@ class Epp::DomainsController < EppController
balance_ok?('renew', period, period_unit) # loading pricelist balance_ok?('renew', period, period_unit) # loading pricelist
ActiveRecord::Base.transaction do begin
ActiveRecord::Base.transaction(isolation: :serializable) do
@domain.reload
success = @domain.renew( success = @domain.renew(
params[:parsed_frame].css('curExpDate').text, params[:parsed_frame].css('curExpDate').text,
period, period_unit period, period_unit
@ -129,6 +132,10 @@ class Epp::DomainsController < EppController
handle_errors(@domain) handle_errors(@domain)
end end
end end
rescue ActiveRecord::StatementInvalid => e
sleep rand / 100
retry
end
end end
def transfer def transfer