fix: 修复工作流节点错误无法在详情里面显示
This commit is contained in:
parent
c211702c4c
commit
b96931873c
@ -194,6 +194,9 @@ class NodeChunkManage:
|
|||||||
def add_node_chunk(self, node_chunk):
|
def add_node_chunk(self, node_chunk):
|
||||||
self.node_chunk_list.append(node_chunk)
|
self.node_chunk_list.append(node_chunk)
|
||||||
|
|
||||||
|
def contains(self, node_chunk):
|
||||||
|
return self.node_chunk_list.__contains__(node_chunk)
|
||||||
|
|
||||||
def pop(self):
|
def pop(self):
|
||||||
if self.current_node_chunk is None:
|
if self.current_node_chunk is None:
|
||||||
try:
|
try:
|
||||||
@ -354,12 +357,12 @@ class WorkflowManage:
|
|||||||
self.answer += str(e)
|
self.answer += str(e)
|
||||||
|
|
||||||
def hand_event_node_result(self, current_node, node_result_future):
|
def hand_event_node_result(self, current_node, node_result_future):
|
||||||
|
node_chunk = NodeChunk()
|
||||||
try:
|
try:
|
||||||
current_result = node_result_future.result()
|
current_result = node_result_future.result()
|
||||||
result = current_result.write_context(current_node, self)
|
result = current_result.write_context(current_node, self)
|
||||||
if result is not None:
|
if result is not None:
|
||||||
if self.is_result(current_node, current_result):
|
if self.is_result(current_node, current_result):
|
||||||
node_chunk = NodeChunk()
|
|
||||||
self.node_chunk_manage.add_node_chunk(node_chunk)
|
self.node_chunk_manage.add_node_chunk(node_chunk)
|
||||||
for r in result:
|
for r in result:
|
||||||
chunk = self.base_to_response.to_stream_chunk_response(self.params['chat_id'],
|
chunk = self.base_to_response.to_stream_chunk_response(self.params['chat_id'],
|
||||||
@ -376,16 +379,16 @@ class WorkflowManage:
|
|||||||
# 添加节点
|
# 添加节点
|
||||||
self.node_context.append(current_node)
|
self.node_context.append(current_node)
|
||||||
traceback.print_exc()
|
traceback.print_exc()
|
||||||
self.status = 500
|
|
||||||
current_node.get_write_error_context(e)
|
|
||||||
self.answer += str(e)
|
self.answer += str(e)
|
||||||
chunk = self.base_to_response.to_stream_chunk_response(self.params['chat_id'],
|
chunk = self.base_to_response.to_stream_chunk_response(self.params['chat_id'],
|
||||||
self.params['chat_record_id'],
|
self.params['chat_record_id'],
|
||||||
str(e), False, 0, 0)
|
str(e), False, 0, 0)
|
||||||
node_chunk = NodeChunk()
|
if not self.node_chunk_manage.contains(node_chunk):
|
||||||
self.node_chunk_manage.add_node_chunk(node_chunk)
|
self.node_chunk_manage.add_node_chunk(node_chunk)
|
||||||
node_chunk.add_chunk(chunk)
|
node_chunk.add_chunk(chunk)
|
||||||
node_chunk.end()
|
node_chunk.end()
|
||||||
|
current_node.get_write_error_context(e)
|
||||||
|
self.status = 500
|
||||||
|
|
||||||
def run_node_async(self, node):
|
def run_node_async(self, node):
|
||||||
future = executor.submit(self.run_node, node)
|
future = executor.submit(self.run_node, node)
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user