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.1a0.tar.gz
(4.0 kB
view hashes)
Built Distribution
Close
Hashes for bounded_pool-0.0.1a0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bf4c13a6584bb461aededc007a87efc760aab50b0177817373de0842dfeacca3 |
|
MD5 | e21c7ab20e6af04a4f901c6c83c630d3 |
|
BLAKE2b-256 | c7540a567863bd9167f69de22a0f348408129bb2acb4a0e83d61ddb615dd7ed4 |