Spaces:
Running
Running
Jeremiah Lowin commited on
Commit ·
091c20a
1
Parent(s): 8fefd59
Avoid hanging on initialize
Browse files
src/fastmcp/client/client.py
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
|
|
| 1 |
import datetime
|
| 2 |
from contextlib import AsyncExitStack, asynccontextmanager
|
| 3 |
from pathlib import Path
|
| 4 |
from typing import Any, cast
|
| 5 |
|
|
|
|
| 6 |
import mcp.types
|
| 7 |
from exceptiongroup import catch
|
| 8 |
from mcp import ClientSession
|
|
@@ -161,7 +163,11 @@ class Client:
|
|
| 161 |
self._initialize_result = await self._session.initialize()
|
| 162 |
|
| 163 |
try:
|
|
|
|
|
|
|
| 164 |
yield
|
|
|
|
|
|
|
| 165 |
finally:
|
| 166 |
self._exit_stack = None
|
| 167 |
self._session = None
|
|
|
|
| 1 |
+
import asyncio
|
| 2 |
import datetime
|
| 3 |
from contextlib import AsyncExitStack, asynccontextmanager
|
| 4 |
from pathlib import Path
|
| 5 |
from typing import Any, cast
|
| 6 |
|
| 7 |
+
import anyio
|
| 8 |
import mcp.types
|
| 9 |
from exceptiongroup import catch
|
| 10 |
from mcp import ClientSession
|
|
|
|
| 163 |
self._initialize_result = await self._session.initialize()
|
| 164 |
|
| 165 |
try:
|
| 166 |
+
with anyio.fail_after(1):
|
| 167 |
+
self._initialize_result = await self._session.initialize()
|
| 168 |
yield
|
| 169 |
+
except asyncio.TimeoutError:
|
| 170 |
+
raise RuntimeError("Failed to initialize server session")
|
| 171 |
finally:
|
| 172 |
self._exit_stack = None
|
| 173 |
self._session = None
|