Skip to content
Wait for service(s) to be available before executing a command.
Python Makefile
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
docs 1.1.2 - specify python_requires=">=3.6" Feb 11, 2019
wait_for_it
.gitignore initial commit Oct 1, 2018
.readthedocs.yml
LICENSE
Makefile add alias publish Jan 20, 2019
README.md
hero.png
setup.py
tox.ini 1.1.2 - specify python_requires=">=3.6" Feb 11, 2019
usage.gif

README.md

wait-for-it

PyPi release PyPi versions Downloads Documentation Status

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 services (i.e. host:port) before executing a user-defined command. It is useful for synchronizing the spin-up of interdependent services, such as linked docker containers.

Check out the wait-for-it docs

Installation

$ pip install wait-for-it

Demo

usage demo

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

You can’t perform that action at this time.