80d959c579
recoverable erros: 1. timeout 2. lock/deadlocks
22 lines
507 B
Python
22 lines
507 B
Python
import frappe
|
|
|
|
|
|
def execute():
|
|
recoverable = ("QueryDeadlockError", "QueryTimeoutError", "JobTimeoutException")
|
|
|
|
failed_reposts = frappe.get_all(
|
|
"Repost Item Valuation",
|
|
fields=["name", "error_log"],
|
|
filters={
|
|
"status": "Failed",
|
|
"docstatus": 1,
|
|
"modified": (">", "2022-04-20"),
|
|
"error_log": ("is", "set"),
|
|
},
|
|
)
|
|
for riv in failed_reposts:
|
|
for exc in recoverable:
|
|
if exc in riv.error_log:
|
|
frappe.db.set_value("Repost Item Valuation", riv.name, "status", "Queued")
|
|
break
|