Library for running tasks in bounded pool executors.
Project description
bounded_pool
Simplistic and universal bounded pool executor that allows to process N tasks
as the same time while limiting size of the queue. Tasks can be functions or
coroutines. Under the hood bounded_pool
uses threads or processes, depending
on used class. Refer to tests/test_basic.py
for details.
Tasks will only be submited when there are available workers (specified by
max_workers
). You can specify max_queue_size
to allow submiting more
tasks than amount of available workers (so workers won't have to wait for
task creation). Refer to tests/test_queue.py
for details.
Example / Showcase
import time
from bounded_pool import BoundedThreadPoolExecutor
def test_example():
futures = []
with BoundedThreadPoolExecutor() as pool:
for _ in range(64):
future = pool.submit(time.sleep, 1)
futures.append(future)
assert futures
for future in futures:
assert future.done()
assert future.result() is None
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
bounded_pool-0.0.1.tar.gz
(4.1 kB
view hashes)
Built Distribution
Close
Hashes for bounded_pool-0.0.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e53fd67561b4ea69d5b619fc729c0798b1409638e8d4b209f5ac3b145745baa9 |
|
MD5 | 1c3cd867b8c1913f2fa158587cf60f06 |
|
BLAKE2b-256 | 4ba85ef8c63ef214520ff13bd0c9b57d842e30369a6685a5e6b5a97d2bd1429e |