Updated polling utility with many configurable options
Project description
polling2
Never write another polling function again!
Documentation available at Read the Docs
You can install the package from Pypi
Polling2 is a powerful python utility used to wait for a function to return a certain expected condition.
Some possible uses cases include:
- Wait for API response to return with code 200
- Wait for a file to exist (or not exist)
- Wait for a thread lock on a resource to expire
Polling2 is handy for getting rid of all that duplicated polling-code. Often, applications require retrying until the correct response is returned. Why re-implement the ability to poll again and again? Use Polling2!
Polling2 is a fork of the original polling. It was forked when the original maintainer failed to respond to issues or PRs.
Polling2 is under active development. Would you like to see a particular feature? Ask and thou shall recieve.
Installation
pip install polling2
Development installation
# install lib, but use system links from the repo into sitepackages.
python setup.py develop
# install test dependenices.
python setup.py test
# run the tests
pytest tests
Example:
# This call will wait until the file exists, checking every 0.1 seconds and stopping after 3 seconds have elapsed
file_handle = polling2.poll(
lambda: open('/tmp/myfile.txt'),
ignore_exceptions=(IOError,),
timeout=3,
step=0.1)
# Polling will return the value of your polling function, so you can now interact with it
file_handle.close()
There are more examples in the documentation.
API and user guide at Read the Docs
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
Built Distribution
Hashes for polling2-0.5.0-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ad86d56fbd7502f0856cac2d0109d595c18fa6c7fb12c88cee5e5d16c17286c1 |
|
MD5 | 87b5e02c4d9a4284ac21682624ed82f3 |
|
BLAKE2b-256 | a3dee5bf2556ebd6db12590788207575c7c75b1de62f5ddc8b4916b668e04e6b |