File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 88from fastapi import HTTPException
99
1010
11+
1112async def queue_worker ():
1213 """队列工作器,处理请求队列中的任务"""
1314 # 导入全局变量
@@ -224,12 +225,24 @@ async def queue_worker():
224225 if not result_future .done ():
225226 result_future .set_exception (HTTPException (status_code = 500 , detail = f"[{ req_id } ] Request processing error: { process_err } " ))
226227
227- # 清空流式队列缓存
228- logger .info (f"[{ req_id } ] (Worker) 尝试清空流式队列缓存..." )
229- from api_utils import clear_stream_queue
230- await clear_stream_queue ()
231228 logger .info (f"[{ req_id } ] (Worker) 释放处理锁。" )
232-
229+
230+ # 在释放处理锁后立即执行清空操作
231+ try :
232+ # 清空流式队列缓存
233+ from api_utils import clear_stream_queue
234+ await clear_stream_queue ()
235+
236+ # 清空聊天历史(如果有必要的参数)
237+ if completion_event and submit_btn_loc and client_disco_checker :
238+ from server import page_instance , is_page_ready
239+ if page_instance and is_page_ready :
240+ from browser_utils .page_controller import PageController
241+ page_controller = PageController (page_instance , logger , req_id )
242+ await page_controller .clear_chat_history (client_disco_checker )
243+ except Exception as clear_err :
244+ logger .error (f"[{ req_id } ] (Worker) 清空操作时发生错误: { clear_err } " , exc_info = True )
245+
233246 was_last_request_streaming = is_streaming_request
234247 last_request_completion_time = time .time ()
235248
Original file line number Diff line number Diff line change @@ -733,10 +733,10 @@ async def _process_request_refactored(
733733 await _handle_parameter_cache (req_id , context )
734734
735735 prepared_prompt = await _prepare_and_validate_request (req_id , request , check_client_disconnected )
736-
736+
737737 # 使用PageController处理页面交互
738- await page_controller . clear_chat_history ( check_client_disconnected )
739-
738+ # 注意:聊天历史清空已移至队列处理锁释放后执行
739+
740740 await page_controller .adjust_parameters (
741741 request .model_dump (exclude_none = True ), # 使用 exclude_none=True 避免传递None值
742742 context ['page_params_cache' ],
You can’t perform that action at this time.
0 commit comments