Synchronise processing of proxy orders

This commit is contained in:
Maikel Linke
2021-12-14 11:20:09 +11:00
parent ce0913758b
commit 9b6c9bd773
2 changed files with 9 additions and 3 deletions

View File

@@ -11,7 +11,7 @@ class PlaceProxyOrder
end
def call
return unless initialise_order
return unless place_order
summarizer.record_order(order)
return summarizer.record_issue(:complete, order) if order.completed?
@@ -32,6 +32,14 @@ class PlaceProxyOrder
attr_reader :proxy_order, :subscription, :summarizer, :logger, :stock_changes_loader, :changes
attr_accessor :order
def place_order
proxy_order.with_lock do
return if proxy_order.placed_at.present?
initialise_order
end
end
def initialise_order
logger.info("Placing Order for Proxy Order #{proxy_order.id}")

View File

@@ -214,8 +214,6 @@ describe SubscriptionPlacementJob do
breakpoint.unlock
threads.each(&:join)
}.to change {
pending "The current code places two orders!"
Spree::Order.count
}.by(1)
end