BOM Update Tool running into timeout

ERPNext: v11.1.14 (master)
Frappe Framework: v11.1.14 (master)

Hey.

I am running into an Timeout while replacing a BOM in a sub-sub-assembly. We have a lot of products that use that BOM in a sub-sub-assembly.

Can anyone give me some hints how to adjust the timeout? Is there a better way to replace the BOM maybe through API calls or with bench command instead of using the BOM Update Tool?

Traceback (most recent call last):
File “/home/frappe/frappe-bench/apps/erpnext/erpnext/manufacturing/doctype/bom_update_tool/bom_update_tool.py”, line 24, in replace_bom
updated_bom = bom_obj.update_cost_and_exploded_items(updated_bom)
File “/home/frappe/frappe-bench/apps/erpnext/erpnext/manufacturing/doctype/bom/bom.py”, line 406, in update_cost_and_exploded_items
bom_obj.update_exploded_items()
File “/home/frappe/frappe-bench/apps/erpnext/erpnext/manufacturing/doctype/bom/bom.py”, line 492, in update_exploded_items
self.add_exploded_items()
File “/home/frappe/frappe-bench/apps/erpnext/erpnext/manufacturing/doctype/bom/bom.py”, line 558, in add_exploded_items
ch.db_insert()
File “/home/frappe/frappe-bench/apps/frappe/frappe/model/base_document.py”, line 303, in db_insert
d = self.get_valid_dict(convert_dates_to_str=True)
File “/home/frappe/frappe-bench/apps/frappe/frappe/model/base_document.py”, line 228, in get_valid_dict
if convert_dates_to_str and isinstance(d[fieldname], (datetime.datetime, datetime.time, datetime.timedelta)):
File “/home/frappe/frappe-bench/env/lib/python2.7/site-packages/rq/timeouts.py”, line 64, in handle_death_penalty
‘({0} seconds)’.format(self._timeout))
JobTimeoutException: Task exceeded maximum timeout value (4000 seconds)

A long time ago, I had a similar problem, which I posted here

Although I did not specifically solve it, you might find the troubleshoot info/methods that I tried out useful (and if you solve it, I’ll be very happy too). I was on different versions etc, but maybe this won’t matter.