Skip to content

Commit 2129e6f

Browse files
committed
Fix #86: Add property with that indicates if queue is closed
1 parent e0fa84a commit 2129e6f

File tree

3 files changed

+24
-0
lines changed

3 files changed

+24
-0
lines changed

CHANGES.rst

+2
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@ Changes
88

99
- Drop python 3.4 support and fix minimal version python3.5.3 #88
1010

11+
- Add property with that indicates if queue is closed #86
12+
1113
0.3.2 (2018-07-06)
1214
------------------
1315

janus/__init__.py

+12
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,10 @@ async def wait_closed(self):
7777
return
7878
await asyncio.wait(self._pending, loop=self._loop)
7979

80+
@property
81+
def closed(self):
82+
return self._closing and not self._pending
83+
8084
@property
8185
def maxsize(self):
8286
return self._maxsize
@@ -176,6 +180,10 @@ def __init__(self, parent):
176180
def maxsize(self):
177181
return self._parent._maxsize
178182

183+
@property
184+
def closed(self):
185+
return self._parent.closed
186+
179187
def task_done(self):
180188
'''Indicate that a formerly enqueued task is complete.
181189
@@ -340,6 +348,10 @@ class _AsyncQueueProxy:
340348
def __init__(self, parent):
341349
self._parent = parent
342350

351+
@property
352+
def closed(self):
353+
return self._parent.closed
354+
343355
def qsize(self):
344356
"""Number of items in the queue."""
345357
return self._parent._qsize()

tests/test_mixed.py

+10
Original file line numberDiff line numberDiff line change
@@ -201,3 +201,13 @@ def test_double_closing(self):
201201
q.close()
202202
q.close()
203203
self.loop.run_until_complete(q.wait_closed())
204+
205+
def test_closed(self):
206+
q = janus.Queue(loop=self.loop)
207+
self.assertFalse(q.closed)
208+
self.assertFalse(q.async_q.closed)
209+
self.assertFalse(q.sync_q.closed)
210+
q.close()
211+
self.assertTrue(q.closed)
212+
self.assertTrue(q.async_q.closed)
213+
self.assertTrue(q.sync_q.closed)

0 commit comments

Comments
 (0)