Skip to content

Commit 26e2afd

Browse files
committed
change websocket task storage from set to list to ensure ordered task management
1 parent c4f2224 commit 26e2afd

2 files changed

Lines changed: 5 additions & 5 deletions

File tree

openevsehttp/client.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -210,20 +210,20 @@ async def _start_listening(self):
210210

211211
if not self._ws_listening and not active_tasks:
212212
_LOGGER.debug("Setting up websocket ping...")
213-
self.tasks = {
213+
self.tasks = [
214214
self._loop.create_task(self.websocket.listen()),
215215
self._loop.create_task(self.repeat(300, self.websocket.keepalive)),
216-
}
216+
]
217217
elif active_tasks:
218218
_LOGGER.debug("Cleaning up orphaned websocket tasks before restart...")
219219
for task in active_tasks:
220220
if not task.done():
221221
task.cancel()
222222
await asyncio.gather(*active_tasks, return_exceptions=True)
223-
self.tasks = {
223+
self.tasks = [
224224
self._loop.create_task(self.websocket.listen()),
225225
self._loop.create_task(self.repeat(300, self.websocket.keepalive)),
226-
}
226+
]
227227

228228
async def _update_status(self, msgtype, data, error):
229229
"""Update data from websocket listener."""

tests/test_client.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2218,7 +2218,7 @@ async def dummy():
22182218
pass
22192219

22202220
task = asyncio.create_task(dummy())
2221-
charger.tasks = {task}
2221+
charger.tasks = [task]
22222222
await charger.ws_disconnect()
22232223
assert task.cancelled() or task.done()
22242224

0 commit comments

Comments
 (0)