Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

holdup-1.3.0.tar.gz (16.1 kB view hashes)

Uploaded Source

Built Distribution

holdup-1.3.0-py2.py3-none-any.whl (7.4 kB view hashes)

Uploaded Python 2 Python 3

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