Skip to main content

Wait for service(s) to be available before executing a command.

Project description

wait-for-it

PyPi release

Wait for service(s) to be available before executing a command.

wait-for-it is a script that will wait on the availability of one or more TCP host:port services before executing a user-defined command. It is useful for synchronizing the spin-up of interdependent services, such as linked docker containers.

Installation

$ pip install wait-for-it

Usage

Usage: wait-for-it [OPTIONS] [COMMANDS]...

  Wait for service(s) to be available before executing a command.

Options:
  -h, --help               Show this message and exit.
  -v, --version            Show the version and exit.
  -q, --quiet              Do not output any status messages
  -s, --service host:port  Services to test, in the format host:port
  -t, --timeout seconds    Timeout in seconds, 0 for no timeout  [default: 15]

Examples

Test to see if we can access port 80 on www.google.com, and if it is available, echo the message google is up:

$ wait-for-it \
--service www.google.com:80 \
-- echo "google is up"
waiting 15 seconds for www.google.com:80
www.google.com:80 is available after 0 seconds
google is up

You can set your own timeout with the -t or --timeout option. Setting the timeout value to 0 will disable the timeout:

$ wait-for-it \
--service www.google.com:80 \
--timeout 0 \
-- echo "google is up"
waiting for www.google.com:80 without a timeout
www.google.com:80 is available after 0 seconds
google is up

Multiple services can be tested by adding additional -s or --service options:

$ wait-for-it \
--service www.google.com:80 \
--service www.bing.com:80 \
--service www.duckduckgo.com:80 \
-- echo "google, bing, and duckduckgo are up"
waiting 15 seconds for www.google.com:80
www.google.com:80 is available after 0 seconds
waiting 15 seconds for www.bing.com:80
www.bing.com:80 is available after 0 seconds
waiting 15 seconds for www.duckduckgo.com:80
www.duckduckgo.com:80 is available after 0 seconds
google, bing, and duckduckgo are up

Status message output can be suppressed with the -q or --quiet option:

$ wait-for-it \
--quiet \
--service www.google.com:80 \
-- echo "google is up"
google is up

Related

License

MIT © Travis Clarke

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

wait-for-it-0.0.1.tar.gz (3.0 kB view details)

Uploaded Source

Built Distribution

wait_for_it-0.0.1-py3-none-any.whl (3.4 kB view details)

Uploaded Python 3

File details

Details for the file wait-for-it-0.0.1.tar.gz.

File metadata

  • Download URL: wait-for-it-0.0.1.tar.gz
  • Upload date:
  • Size: 3.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/39.2.0 requests-toolbelt/0.8.0 tqdm/4.23.4 CPython/3.7.0

File hashes

Hashes for wait-for-it-0.0.1.tar.gz
Algorithm Hash digest
SHA256 9f30fb515474782d065bd1fce071f8574457368981e0aa2c906cd0270d1dc946
MD5 8b723e44ea427d7f30ceae67036e066c
BLAKE2b-256 75316f9920e07f766a459970e946a349a35f09f0e7135ce57ec24d32e3171107

See more details on using hashes here.

File details

Details for the file wait_for_it-0.0.1-py3-none-any.whl.

File metadata

  • Download URL: wait_for_it-0.0.1-py3-none-any.whl
  • Upload date:
  • Size: 3.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/39.2.0 requests-toolbelt/0.8.0 tqdm/4.23.4 CPython/3.7.0

File hashes

Hashes for wait_for_it-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 7dd2b218c88ebf8be60d0af3950dd171c29fbea16ac288dead07e9330a90c74e
MD5 bb75f05f8820bacbac36f08c1fdff19f
BLAKE2b-256 074d56eca8d578250f2646bac218c3c4c614c453d0626c263d63a7dfbbbd2a54

See more details on using hashes here.

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