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.
Exceptions inside of the tasks craeted with executors are ignored. Refer
to tests/test_exceptions.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
License
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
Built Distribution
File details
Details for the file bounded_pool-0.0.2.tar.gz
.
File metadata
- Download URL: bounded_pool-0.0.2.tar.gz
- Upload date:
- Size: 4.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | dff6fd8c9cda225910c3ab123487a8dbb482177a2a473bc12d77835df272e991 |
|
MD5 | 09a797bffb357da3e6755bf4f9eb0cc3 |
|
BLAKE2b-256 | 399f8b135666d320875baa45874fdbabaf352329c65d6d484c0342bca9119e1c |
File details
Details for the file bounded_pool-0.0.2-py3-none-any.whl
.
File metadata
- Download URL: bounded_pool-0.0.2-py3-none-any.whl
- Upload date:
- Size: 3.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 848aee93afe70c69e320d5d320be30d1dbb26cf85a61f50556ee2e5f655bbb69 |
|
MD5 | 4c2ce29989d357cdae12fbf36a911805 |
|
BLAKE2b-256 | 79234f82179cad6268d796b5a8e9939abc8182e64db8fc26f9a4976e5e673031 |