perf: add auto repeat to long queue
This commit is contained in:
parent
8fcd5d1cfa
commit
cf2d666bec
2 changed files with 6 additions and 12 deletions
|
|
@ -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:
|
||||
|
|
|
|||
|
|
@ -250,13 +250,13 @@ scheduler_events = {
|
|||
"frappe.desk.form.document_follow.send_daily_updates",
|
||||
"frappe.social.doctype.energy_point_settings.energy_point_settings.allocate_review_points",
|
||||
"frappe.integrations.doctype.google_contacts.google_contacts.sync",
|
||||
"frappe.automation.doctype.auto_repeat.auto_repeat.make_auto_repeat_entry",
|
||||
],
|
||||
"daily_long": [
|
||||
"frappe.integrations.doctype.dropbox_settings.dropbox_settings.take_backups_daily",
|
||||
"frappe.integrations.doctype.s3_backup_settings.s3_backup_settings.take_backups_daily",
|
||||
"frappe.email.doctype.auto_email_report.auto_email_report.send_daily",
|
||||
"frappe.integrations.doctype.google_drive.google_drive.daily_backup",
|
||||
"frappe.automation.doctype.auto_repeat.auto_repeat.make_auto_repeat_entry",
|
||||
],
|
||||
"weekly_long": [
|
||||
"frappe.integrations.doctype.dropbox_settings.dropbox_settings.take_backups_weekly",
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue