summaryrefslogtreecommitdiff
path: root/fixco_custom/models
diff options
context:
space:
mode:
Diffstat (limited to 'fixco_custom/models')
-rwxr-xr-xfixco_custom/models/detail_order.py4
1 files changed, 4 insertions, 0 deletions
diff --git a/fixco_custom/models/detail_order.py b/fixco_custom/models/detail_order.py
index fadea7b..b392f20 100755
--- a/fixco_custom/models/detail_order.py
+++ b/fixco_custom/models/detail_order.py
@@ -124,11 +124,15 @@ class DetailOrder(models.Model):
def process_queue_item_detail(self, limit=100):
domain = [('execute_status', '=', 'detail_order')]
records = self.search(domain, order='create_date asc', limit=limit)
+
for rec in records:
try:
+ # Start a new savepoint for each record
with self.env.cr.savepoint():
rec.execute_queue_detail()
+ self.env.cr.commit() # Explicit commit after each successful record
except Exception as e:
+ self.env.cr.rollback() # Explicit rollback on failure
_logger.error("Failed to process record %s: %s", rec.id, str(e))
rec.write({
'message_error': json.dumps({'error': str(e)})