Skip to content

Commit 712a726

Browse files
authored
Use single SDK worker Thread (#599)
1 parent 9344e8b commit 712a726

File tree

1 file changed

+3
-1
lines changed

1 file changed

+3
-1
lines changed

matter_server/server/device_controller.py

+3-1
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66

77
import asyncio
88
from collections import deque
9+
from concurrent.futures import ThreadPoolExecutor
910
from datetime import datetime
1011
from functools import partial
1112
import logging
@@ -106,6 +107,7 @@ def __init__(
106107
self._node_lock: dict[int, asyncio.Lock] = {}
107108
self._aiobrowser: AsyncServiceBrowser | None = None
108109
self._aiozc: AsyncZeroconf | None = None
110+
self._sdk_executor = ThreadPoolExecutor(max_workers=1)
109111

110112
async def initialize(self) -> None:
111113
"""Async initialize of controller."""
@@ -1027,7 +1029,7 @@ async def _call_sdk(self, func: Callable[..., _T], *args: Any, **kwargs: Any) ->
10271029
return cast(
10281030
_T,
10291031
await self.server.loop.run_in_executor(
1030-
None,
1032+
self._sdk_executor,
10311033
partial(func, *args, **kwargs),
10321034
),
10331035
)

0 commit comments

Comments
 (0)