fix: fix event async set

This commit is contained in:
topsworld 2025-01-09 20:43:18 +08:00
parent 29102b6536
commit 36bf686629

View File

@ -250,8 +250,8 @@ class _MipsClient(ABC):
def __init__( def __init__(
self, self,
client_id: client_id: str,
str, host: str, host: str,
port: int, port: int,
username: Optional[str] = None, username: Optional[str] = None,
password: Optional[str] = None, password: Optional[str] = None,
@ -624,8 +624,10 @@ class _MipsClient(ABC):
self.main_loop.create_task, self.main_loop.create_task,
item.handler(item.key, True)) item.handler(item.key, True))
# Resolve future # Resolve future
self._event_connect.set() self.main_loop.call_soon_threadsafe(
self._event_disconnect.clear() self._event_connect.set)
self.main_loop.call_soon_threadsafe(
self._event_disconnect.clear)
def __on_connect_failed(self, client: Client, user_data: Any) -> None: def __on_connect_failed(self, client: Client, user_data: Any) -> None:
self.log_error('mips connect failed') self.log_error('mips connect failed')
@ -662,8 +664,10 @@ class _MipsClient(ABC):
# Try to reconnect # Try to reconnect
self.__mips_try_reconnect() self.__mips_try_reconnect()
# Set event # Set event
self._event_disconnect.set() self.main_loop.call_soon_threadsafe(
self._event_connect.clear() self._event_disconnect.set)
self.main_loop.call_soon_threadsafe(
self._event_connect.clear)
def __on_message( def __on_message(
self, self,