diff options
| author | mike bayer <mike_mp@zzzcomputing.com> | 2021-01-14 03:40:22 +0000 |
|---|---|---|
| committer | Gerrit Code Review <gerrit@bbpush.zzzcomputing.com> | 2021-01-14 03:40:22 +0000 |
| commit | 0e36c1bbe7c4fc83df13e756f04d9fa0fa8d5d39 (patch) | |
| tree | e204b02318476336a519cd6b0016ef54c9245f0f /lib/sqlalchemy/util/queue.py | |
| parent | 0a41f9bea6602c52c59af0f7b572308b2c2b27ab (diff) | |
| parent | f1e96cb0874927a475d0c111393b7861796dd758 (diff) | |
| download | sqlalchemy-0e36c1bbe7c4fc83df13e756f04d9fa0fa8d5d39.tar.gz | |
Merge "reinvent xdist hooks in terms of pytest fixtures"
Diffstat (limited to 'lib/sqlalchemy/util/queue.py')
| -rw-r--r-- | lib/sqlalchemy/util/queue.py | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/lib/sqlalchemy/util/queue.py b/lib/sqlalchemy/util/queue.py index 99ecb4fb3..ca5a3abde 100644 --- a/lib/sqlalchemy/util/queue.py +++ b/lib/sqlalchemy/util/queue.py @@ -230,13 +230,16 @@ class AsyncAdaptedQueue: return self.put_nowait(item) try: - if timeout: + if timeout is not None: return self.await_( asyncio.wait_for(self._queue.put(item), timeout) ) else: return self.await_(self._queue.put(item)) - except asyncio.queues.QueueFull as err: + except ( + asyncio.queues.QueueFull, + asyncio.exceptions.TimeoutError, + ) as err: compat.raise_( Full(), replace_context=err, @@ -254,14 +257,18 @@ class AsyncAdaptedQueue: def get(self, block=True, timeout=None): if not block: return self.get_nowait() + try: - if timeout: + if timeout is not None: return self.await_( asyncio.wait_for(self._queue.get(), timeout) ) else: return self.await_(self._queue.get()) - except asyncio.queues.QueueEmpty as err: + except ( + asyncio.queues.QueueEmpty, + asyncio.exceptions.TimeoutError, + ) as err: compat.raise_( Empty(), replace_context=err, |
