A tool to wait for services and execute command. Useful for Docker containers that depend on slow to start services (like almost everything).
Project description
A tool to wait for services and execute command. Useful for Docker containers that depend on slow to start services (like almost everything).
Free software: BSD license
Installation
pip install holdup
Documentation
Usage: holdup [-h] [-t SECONDS] [-i SECONDS] [-n] service [service ...] [-- command [arg [arg ...]]]
Wait for services to be ready and optionally exec command.
- positional arguments:
- service
A service to wait for. Supported protocols: “tcp://host:port/”, “path:///path/to/something”, “unix:///path/to/domain.sock”. Join protocols with a comma to make holdup exit at the first passing one, eg: tcp://host:1,host:2 or tcp://host:1,tcp://host:2 are equivalent and mean “any that pass”.
- command
An optional command to exec.
- optional arguments:
- -h, --help
Show this help message and exit.
- -t SECONDS, --timeout SECONDS
Time to wait for services to be ready. Default: 5.0
- -i SECONDS, --interval SECONDS
How often to check. Default: 0.2
- -n, --no-abort
Ignore failed services. This makes holdup return 0 exit code regardless of services actually responding.
Development
To run the all tests run:
tox
Note, to combine the coverage data from all the tox environments run:
Windows |
set PYTEST_ADDOPTS=--cov-append tox |
---|---|
Other |
PYTEST_ADDOPTS=--cov-append tox |
Changelog
1.3.0 (2017-02-21)
Add support for “any” service check (service syntax with comma).
1.2.1 (2016-06-17)
Handle situation where internal operations would take more than planned.
1.2.0 (2016-05-25)
Added a file check.
1.1.0 (2016-05-06)
Removed debug print.
Added --interval option for how often to check. No more spinloops.
1.0.0 (2016-04-22)
Improved tests.
Always log to stderr.
0.1.0 (2016-04-21)
First release on PyPI.
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
Hashes for holdup-1.3.0-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5ea8ca7d8d34fb8b22c57e99010154efc017c6c1a5c878766d3f917399dd0ba2 |
|
MD5 | 89cd61a0d6b51da8e302ab0768c3a582 |
|
BLAKE2b-256 | fe44561e8f9dd002cced3a7acede42a7013f5b556963956863822f431f9bd3d1 |