Skip to main content

Library for running tasks in bounded pool executors.

Project description

bounded_pool

PyPI version FOSSA Status

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

FOSSA Status

Project details


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.2.tar.gz (4.3 kB view details)

Uploaded Source

Built Distribution

bounded_pool-0.0.2-py3-none-any.whl (3.7 kB view details)

Uploaded Python 3

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

Hashes for bounded_pool-0.0.2.tar.gz
Algorithm Hash digest
SHA256 dff6fd8c9cda225910c3ab123487a8dbb482177a2a473bc12d77835df272e991
MD5 09a797bffb357da3e6755bf4f9eb0cc3
BLAKE2b-256 399f8b135666d320875baa45874fdbabaf352329c65d6d484c0342bca9119e1c

See more details on using hashes here.

File details

Details for the file bounded_pool-0.0.2-py3-none-any.whl.

File metadata

File hashes

Hashes for bounded_pool-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 848aee93afe70c69e320d5d320be30d1dbb26cf85a61f50556ee2e5f655bbb69
MD5 4c2ce29989d357cdae12fbf36a911805
BLAKE2b-256 79234f82179cad6268d796b5a8e9939abc8182e64db8fc26f9a4976e5e673031

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page