Implement
.shutdown(immediate=False)
for both sync and async APIs #720The change is not fully backward compatible:
- If the queue is closed,
janus.AsyncQueueShutDown
andjanus.SyncQueueShutDown
exceptions are raised instead ofRuntimeError
. - Both sync and async
.task_done()
and.join()
don't raise any exception on queue shutdown/closing anymore; it is compatible with shutdown behavior of stdlib sync and async queues.
- If the queue is closed,
- Optimize internal implementation for a little speedup #699
- Make not-full and not-empty notifications faster #703
- Add
.aclose()
async method #709 - Reduce notifications for a minor speedup #704
- Allow
janus.Queue()
instantiation without running asyncio event loop #710 - Remove sync notifiers for a major speedup #714
- Fix hang in
AsyncQueue.join()
#716
- Drop Python 3.7 and 3.8 support
- janus now works on Python 3.9-3.13
- Reexport SyncQueueEmpty, SyncQueueFull, AsyncQueueEmpty, and AsyncQueueFull names #680
- Drop Python 3.6 support
- Add SyncQueue and AsyncQueue Protocols to provide type hints for sync and async queues #374
- Fix Python 3.10 compatibility #358
- Raise RuntimeError on queue.join() after queue closing. #295
- Replace
timeout
type fromOptional[int]
toOptional[float]
#267
- Drop Python 3.5, the minimal supported version is Python 3.6
- Support Python 3.9
- Refomat with
black
- Remove explicit loop arguments and forbid creating queues outside event loops #246
- Add
py.typed
macro #89 - Drop python 3.4 support and fix minimal version python3.5.3 #88
- Add property with that indicates if queue is closed #86
- Fixed python 3.7 support #97
- Fixed bug with join() in case tasks are added by sync_q.put() #75
- Expose unfinished_tasks property #34
- Restore tarball deploying
- Fix exception type
- Update asyncio.async() to use asyncio.ensure_future() #6
- Fix python setup.py test command #4
- Support Python 3.5
- Use loop.time() instead of time.monotonic()
- Fix some typos in README and setup.py
- Add addtional checks for loop closing
- Mention DataRobot
- Initial release