From bd87bb453c7c62e684f9be5fd5e431a8310387af Mon Sep 17 00:00:00 2001 From: WierJZ <43975983+WierJZ@users.noreply.github.com> Date: Wed, 15 Jul 2026 18:04:42 +0800 Subject: [PATCH] fix(dingtalk): avoid blocking event loop on connection open (#2337) --- src/langbot/libs/dingtalk_api/api.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/langbot/libs/dingtalk_api/api.py b/src/langbot/libs/dingtalk_api/api.py index 5c9df66cb..8d93ee27f 100644 --- a/src/langbot/libs/dingtalk_api/api.py +++ b/src/langbot/libs/dingtalk_api/api.py @@ -885,7 +885,10 @@ class DingTalkClient: while not self._stopped: try: - connection = self.client.open_connection() + # open_connection performs blocking network I/O in the DingTalk SDK. + # Run it off the event loop so connection stalls do not block the + # LangBot HTTP server and other async tasks. + connection = await asyncio.to_thread(self.client.open_connection) if not connection: if self.logger: