Merge pull request #32010 from iamejaaz/35570-auto-repeat-issue

perf: add auto repeat to long queue
This commit is contained in:
Ejaaz Khan 2025-04-07 22:44:49 +05:30 committed by GitHub
commit 67e886ea35
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -483,9 +483,7 @@ def make_auto_repeat_entry():
if not jobs or enqueued_method not in jobs[frappe.local.site]:
date = getdate(today())
data = get_auto_repeat_entries(date)
frappe.enqueue(enqueued_method, data=data)
# Set auto-repeat to complete when all auto-repeats are added to the queue
set_auto_repeat_as_completed(data)
frappe.enqueue(enqueued_method, data=data, queue="long")
def create_repeated_entries(data):
@ -501,6 +499,10 @@ def create_repeated_entries(data):
if schedule_date and not doc.disabled:
frappe.db.set_value("Auto Repeat", doc.name, "next_schedule_date", schedule_date)
if doc.is_completed():
doc.status = "Completed"
doc.save()
def get_auto_repeat_entries(date=None):
if not date:
@ -517,14 +519,6 @@ def get_auto_repeat_entries(date=None):
return query.run(as_dict=1)
def set_auto_repeat_as_completed(auto_repeat):
for entry in auto_repeat:
doc = frappe.get_doc("Auto Repeat", entry.name)
if doc.is_completed():
doc.status = "Completed"
doc.save()
@frappe.whitelist()
def make_auto_repeat(doctype, docname, frequency="Daily", start_date=None, end_date=None):
if not start_date: