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
 |