fix: resolved the issue of not releasing ThreadPoolExecutor when an exception occurs in _generate_worker
Signed-off-by: Guowen.Bao <Guowen.Bao@desaysv.com>
This commit is contained in:
parent
a9e4f345e9
commit
526f6321d1
@ -169,6 +169,7 @@ class GraphEngine:
|
|||||||
error=item.route_node_state.failed_reason or "Unknown error.",
|
error=item.route_node_state.failed_reason or "Unknown error.",
|
||||||
exceptions_count=len(handle_exceptions),
|
exceptions_count=len(handle_exceptions),
|
||||||
)
|
)
|
||||||
|
self._release_thread()
|
||||||
return
|
return
|
||||||
elif isinstance(item, NodeRunSucceededEvent):
|
elif isinstance(item, NodeRunSucceededEvent):
|
||||||
if item.node_type == NodeType.END:
|
if item.node_type == NodeType.END:
|
||||||
@ -195,6 +196,7 @@ class GraphEngine:
|
|||||||
except Exception as e:
|
except Exception as e:
|
||||||
logger.exception("Graph run failed")
|
logger.exception("Graph run failed")
|
||||||
yield GraphRunFailedEvent(error=str(e), exceptions_count=len(handle_exceptions))
|
yield GraphRunFailedEvent(error=str(e), exceptions_count=len(handle_exceptions))
|
||||||
|
self._release_thread()
|
||||||
return
|
return
|
||||||
# count exceptions to determine partial success
|
# count exceptions to determine partial success
|
||||||
if len(handle_exceptions) > 0:
|
if len(handle_exceptions) > 0:
|
||||||
|
Loading…
Reference in New Issue
Block a user