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] [-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”, “eval://expr”, “http://urn”, “http://urn” (status 200 expected). 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
- -T SECONDS, --check-timeout SECONDS
Time to wait for a single check. Default: 1.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.5.0 (2017-06-07)
Added an eval://expression protocol for weird user-defined checks.
1.4.0 (2017-03-27)
Added support for HTTP(S) check.
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.5.0-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 516f4e707bd7e714b61ef084c897b5fdf6b3b0d4c286065fba85cf499ed5364d |
|
MD5 | f4e66debd2cb7560e28a1fec3e7c47fa |
|
BLAKE2b-256 | 5d839a1d8d866793c9a8f5f3a978a0a6d732df7613b480c1e25ff7b1885197b0 |