always create a new event loop in the client and pass it to a new thread

This commit is contained in:
Mose Müller 2024-09-25 19:37:33 +02:00
parent 757dc9aa3c
commit 968f774092

View File

@ -8,7 +8,6 @@ import socketio # type: ignore
import pydase.components
from pydase.client.proxy_loader import ProxyClassMixin, ProxyLoader
from pydase.utils.helpers import current_event_loop_exists
from pydase.utils.serialization.deserializer import loads
from pydase.utils.serialization.types import SerializedDataService, SerializedObject
@ -109,11 +108,7 @@ class Client:
):
self._url = url
self._sio = socketio.AsyncClient()
if not current_event_loop_exists():
self._loop = asyncio.new_event_loop()
asyncio.set_event_loop(self._loop)
else:
self._loop = asyncio.get_event_loop()
self._loop = asyncio.new_event_loop()
self.proxy = ProxyClass(sio_client=self._sio, loop=self._loop)
"""A proxy object representing the remote service, facilitating interaction as
if it were local."""