fix: task should explicitly call `commit` and rollback if error
diff --git a/erpnext/accounts/doctype/subscriptions/subscriptions.py b/erpnext/accounts/doctype/subscriptions/subscriptions.py
index 8f5c4f4..ac0310a 100644
--- a/erpnext/accounts/doctype/subscriptions/subscriptions.py
+++ b/erpnext/accounts/doctype/subscriptions/subscriptions.py
@@ -424,8 +424,15 @@
Checks a `Subscription` and updates it status as necessary
"""
if data:
- subscription = frappe.get_doc('Subscriptions', data['name'])
- subscription.process()
+ try:
+ subscription = frappe.get_doc('Subscriptions', data['name'])
+ subscription.process()
+ frappe.db.commit()
+ except frappe.ValidationError:
+ frappe.db.rollback()
+ frappe.db.begin()
+ frappe.log_error(frappe.get_traceback())
+ frappe.db.commit()
@frappe.whitelist()