|
|
|
|
@ -180,16 +180,20 @@ class GraphEngine:
|
|
|
|
|
|
|
|
|
|
# trigger graph run success event
|
|
|
|
|
yield GraphRunSucceededEvent(outputs=self.graph_runtime_state.outputs)
|
|
|
|
|
self._release_thread()
|
|
|
|
|
except GraphRunFailedError as e:
|
|
|
|
|
yield GraphRunFailedEvent(error=e.error)
|
|
|
|
|
self._release_thread()
|
|
|
|
|
return
|
|
|
|
|
except Exception as e:
|
|
|
|
|
logger.exception("Unknown Error when graph running")
|
|
|
|
|
yield GraphRunFailedEvent(error=str(e))
|
|
|
|
|
self._release_thread()
|
|
|
|
|
raise e
|
|
|
|
|
finally:
|
|
|
|
|
if self.is_main_thread_pool and self.thread_pool_id in GraphEngine.workflow_thread_pool_mapping:
|
|
|
|
|
del GraphEngine.workflow_thread_pool_mapping[self.thread_pool_id]
|
|
|
|
|
|
|
|
|
|
def _release_thread(self):
|
|
|
|
|
if self.is_main_thread_pool and self.thread_pool_id in GraphEngine.workflow_thread_pool_mapping:
|
|
|
|
|
del GraphEngine.workflow_thread_pool_mapping[self.thread_pool_id]
|
|
|
|
|
|
|
|
|
|
def _run(
|
|
|
|
|
self,
|
|
|
|
|
|