From 5c43e489be2fe045bff094cec2f1f357bef1584c Mon Sep 17 00:00:00 2001 From: shaohuzhang1 Date: Thu, 27 Feb 2025 14:20:30 +0800 Subject: [PATCH] fix: The workflow cannot function properly after the conversation flow is disconnected --- apps/application/flow/workflow_manage.py | 2 ++ apps/common/middleware/gzip.py | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/apps/application/flow/workflow_manage.py b/apps/application/flow/workflow_manage.py index a0d491a84d9..d6bb43bf6c3 100644 --- a/apps/application/flow/workflow_manage.py +++ b/apps/application/flow/workflow_manage.py @@ -382,6 +382,8 @@ def await_result(self): break yield chunk finally: + while self.is_run(): + pass details = self.get_runtime_details() message_tokens = sum([row.get('message_tokens') for row in details.values() if 'message_tokens' in row and row.get('message_tokens') is not None]) diff --git a/apps/common/middleware/gzip.py b/apps/common/middleware/gzip.py index 229ec09b35c..92c7cea3829 100644 --- a/apps/common/middleware/gzip.py +++ b/apps/common/middleware/gzip.py @@ -44,10 +44,10 @@ def process_response(self, request, response): if response.is_async: # pull to lexical scope to capture fixed reference in case # streaming_content is set again later. - orignal_iterator = response.streaming_content + original_iterator = response.streaming_content async def gzip_wrapper(): - async for chunk in orignal_iterator: + async for chunk in original_iterator: yield compress_string( chunk, max_random_bytes=self.max_random_bytes,