Bulletproof concurrent.futures
Project description
Futureproof
Bulletproof concurrent.futures
concurrent.futures
is amazing, but it's got some sharp edges that have bit me many times in the past.
Futureproof is a thin wrapper around it addressing some of these problems and adding some usability features.
Features:
- Monitoring: a summary of completed tasks is logged by default.
- Fail fast: errors cause the main thread to raise an exception and stop by default.
- Error policy: the user can decide whether to raise, log or completely ignore errors on tasks.
- Backpressure control: large collections of tasks are consumed lazily as the executor completes tasks, drastically reducing memory consumption and improving responsiveness in these situations.
Check out the examples directory for a hands-on comparison between futureproof
and concurrent.futures
.
Current status: Alpha
The API is subject to change.
Currently only tested as a wrapper for ThreadPoolExecutor and Python 3.7.
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 futureproof-0.1.0.dev0.tar.gz
.
File metadata
- Download URL: futureproof-0.1.0.dev0.tar.gz
- Upload date:
- Size: 4.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ba56a6b2b3e6228045820758170df8af923a6990770df1a4da2cd32121c52714 |
|
MD5 | 0d227cd64f609d9389b4ee792add0d04 |
|
BLAKE2b-256 | db2881d48a7658d336b34922d5ddf0a1d6a6a4afb4fcbdef9049db56ff3c3270 |
File details
Details for the file futureproof-0.1.0.dev0-py2.py3-none-any.whl
.
File metadata
- Download URL: futureproof-0.1.0.dev0-py2.py3-none-any.whl
- Upload date:
- Size: 6.1 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2f0c7f866a2190ba2e534ab60fab67f9757794352dec0bf5ff94c010b3e4210a |
|
MD5 | ef4cf6ef119cc3e7bb33b8992d411780 |
|
BLAKE2b-256 | eadcfd98d83105204f0f1244334a2abbcff535342ba35f62746e192ea503115d |