diff --git a/pykirdy/driver/kirdy.py b/pykirdy/driver/kirdy.py index d67dd24..7f6aa11 100644 --- a/pykirdy/driver/kirdy.py +++ b/pykirdy/driver/kirdy.py @@ -742,11 +742,12 @@ class Kirdy: Enqueue a task to be handled by the handler. """ if self.connected(): - try: + if self._task_queue.full(): + awaitable_fn.close() + return False + else: self._task_queue.put_nowait(lambda: awaitable_fn) return True - except asyncio.queues.QueueFull: - return False else: raise ConnectionError @@ -861,7 +862,8 @@ class Kirdy: async def __coninit(self, timeout): def _put_nowait_overwrite(self, item): if self.full(): - self.get_nowait() + awaitable_fn = self.get_nowait() + awaitable_fn.close() self.put_nowait(item) asyncio.Queue.put_nowait_overwrite = _put_nowait_overwrite