Metadata-Version: 2.1
Name: multiconsumers-queue
Version: 0.1.2
Summary: Wrapper for queue based producer/consumers parallel tasks execution
Home-page: https://github.com/IaroslavR/multiconsumers-queue
License: MIT
Keywords: threading,queue,wrapper
Author: IaroslavR
Author-email: iarruss@ya.ru
Requires-Python: >=3.7,<4.0
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Provides-Extra: click
Requires-Dist: arrow (>=0.15.5,<0.16.0)
Requires-Dist: attrs (>=19.3.0,<20.0.0)
Requires-Dist: click (>=7.1.1,<8.0.0); extra == "click"
Requires-Dist: loguru (>=0.4.1,<0.5.0)
Project-URL: Repository, https://github.com/IaroslavR/multiconsumers-queue
Project-URL: issues, https://github.com/IaroslavR/multiconsumers-queue-cli/issues
Description-Content-Type: text/markdown

<p>
<a href="https://www.python.org/downloads/release/python-370"><img alt="Python 3.7" src="https://img.shields.io/badge/python-3.7-blue.svg"></a>
<a href="https://github.com/ambv/black"><img alt="Code style: black" src="https://img.shields.io/badge/code%20style-black-000000.svg"></a>
</p>

# multiconsumers-queue-cli
Wrapper for queue based producer/consumers parallel tasks execution

#### Futures:
- graceful shutdown by ^C
- producer/consumer errors handling out of the box
- scheduled tasks statistics logging 

#### Examples:
- [with ThreadPoolExecutor](examples/cli-threads.py) for I/O bound tasks
    ```
    Usage: cli-threads.py [OPTIONS]
    
      Demo script with ThreadPoolExecutor
    
    Options:
      --workers INTEGER     How many workers will be started  [default: 5]
      --limit INTEGER       How many items can be produced  [default: 50]
      --logging-level TEXT  Logging level  [default: INFO]
      --help                Show this message and exit.
    ```

#### References:
- [Concurrency with Python: Threads and Locks](https://bytes.yingw787.com/posts/2019/01/12/concurrency_with_python_threads_and_locks/)
- [The tragic tale of the deadlocking Python queue](https://codewithoutrules.com/2017/08/16/concurrency-python/)
- [Hypermodern Python](https://cjolowicz.github.io/posts/hypermodern-python-01-setup/#setting-up-a-python-project-using-poetry)

