diff --git a/ruoyi-fastapi-backend/module_admin/controller/ragflow_controller.py b/ruoyi-fastapi-backend/module_admin/controller/ragflow_controller.py index c632eb1..eb8b012 100644 --- a/ruoyi-fastapi-backend/module_admin/controller/ragflow_controller.py +++ b/ruoyi-fastapi-backend/module_admin/controller/ragflow_controller.py @@ -323,17 +323,14 @@ def stream_ragflow_response(result: Generator, chat_id: str, start_time: float, total_time = time.perf_counter() - start_time logger.info(f'[RAG_SERVER {time.time():.3f}] ⏱️ Total Stream Duration ({chat_id}): {total_time:.3f}s') - # 流结束后存储缓存 if cache_store_func and last_answer and len(last_answer.strip()) >= 10: try: import asyncio - loop = asyncio.new_event_loop() - asyncio.set_event_loop(loop) - try: - loop.run_until_complete(cache_store_func(last_answer)) - logger.info(f'[RAG_CACHE] 缓存存储完成 | chat_id={chat_id} | answer_length={len(last_answer)}') - finally: - loop.close() + cache_task = asyncio.create_task(cache_store_func(last_answer)) + cache_task.add_done_callback( + lambda t: logger.info(f'[RAG_CACHE] 缓存存储完成 | chat_id={chat_id} | answer_length={len(last_answer)}') + if not t.exception() else logger.warning(f'[RAG_CACHE] 缓存存储失败: {t.exception()}') + ) except Exception as cache_err: logger.warning(f'[RAG_CACHE] 缓存存储失败: {cache_err}')