This repository was archived by the owner on Aug 19, 2025. It is now read-only.

Description
Hi maintainers, thank you for the package !
This line can fail with a ConnectionError, at least when using the Redis backend, possibly others too:
|
await self._backend.subscribe(channel) |
When that happens, queue is never added to self._subscribers[channel].
But the finally block will try to remove it nonetheless, causing a KeyError and hiding the original issue:
|
self._subscribers[channel].remove(queue) |
Possible solutions:
- Using
discard instead of remove
- maybe moving the
_backend.subscribe call outside the try block: when that call fails you can probably skip self._backend.unsubscribe. You'd still need to put a None in the queue though.
I could prepare a PR with any of those if they make sense.