From 2ee9b211c6dd05ddad99c820c4fe5377ac5c03fa Mon Sep 17 00:00:00 2001 From: liuwei Date: Fri, 30 May 2025 09:21:58 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B5=8B=E8=AF=95=E7=BA=BF=E7=A8=8B=E5=8F=91?= =?UTF-8?q?=E9=80=81=E3=80=82=E9=98=B2=E6=AD=A2=E9=98=BB=E5=A1=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- admin/dashboard/blueprints/contacts.py | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) diff --git a/admin/dashboard/blueprints/contacts.py b/admin/dashboard/blueprints/contacts.py index 5298853..ee83499 100644 --- a/admin/dashboard/blueprints/contacts.py +++ b/admin/dashboard/blueprints/contacts.py @@ -20,23 +20,17 @@ def send_message_in_thread(func, *args, **kwargs): async def send(): try: await func(*args, **kwargs) + except Exception as e: + logger.error(f"发送消息失败: {e}") finally: # 发送完成后停止事件循环 loop.stop() - # 创建任务 - task = asyncio.create_task(send()) - - # 运行事件循环直到停止 - loop.run_forever() - - # 等待任务完成 - if not task.done(): - task.cancel() - loop.run_until_complete(task) + # 创建并运行任务,不等待结果 + asyncio.run_coroutine_threadsafe(send(), loop) except Exception as e: - logger.error(f"发送消息失败: {e}") + logger.error(f"线程执行失败: {e}") finally: # 确保清理资源 if loop is not None: