perf: process auto bank reconciliation in batches

(cherry picked from commit 657de2cc7e)
This commit is contained in:
ravibharathi656
2025-07-24 17:04:03 +05:30
committed by Mergify
parent f997393b0e
commit 19a8ddef86

View File

@@ -9,7 +9,7 @@ from frappe import _
from frappe.model.document import Document from frappe.model.document import Document
from frappe.query_builder.custom import ConstantColumn from frappe.query_builder.custom import ConstantColumn
from frappe.query_builder.functions import Sum from frappe.query_builder.functions import Sum
from frappe.utils import cint, flt from frappe.utils import cint, create_batch, flt
from erpnext import get_default_cost_center from erpnext import get_default_cost_center
from erpnext.accounts.doctype.bank_transaction.bank_transaction import get_total_allocated_amount from erpnext.accounts.doctype.bank_transaction.bank_transaction import get_total_allocated_amount
@@ -377,10 +377,11 @@ def auto_reconcile_vouchers(
bank_transactions = get_bank_transactions(bank_account) bank_transactions = get_bank_transactions(bank_account)
if len(bank_transactions) > 10: if len(bank_transactions) > 10:
for bank_transaction_batch in create_batch(bank_transactions, 1000):
frappe.enqueue( frappe.enqueue(
method="erpnext.accounts.doctype.bank_reconciliation_tool.bank_reconciliation_tool.start_auto_reconcile", method="erpnext.accounts.doctype.bank_reconciliation_tool.bank_reconciliation_tool.start_auto_reconcile",
queue="long", queue="long",
bank_transactions=bank_transactions, bank_transactions=bank_transaction_batch,
from_date=from_date, from_date=from_date,
to_date=to_date, to_date=to_date,
filter_by_reference_date=filter_by_reference_date, filter_by_reference_date=filter_by_reference_date,