Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

wait-for-it

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

wait-for-it

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

  • 2.3.0
  • PyPI
  • Socket score

Maintainers
1

[!IMPORTANT] The wait-for-it project has a new home at https://github.com/hartwork/wait-for-it by now.

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.

Since v2.0.0, wait-for-it will return the exit code of the executed command(s).

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
  -p, --parallel           Test services in parallel rather than in serial
  -t, --timeout seconds    Timeout in seconds, 0 for no timeout  [default: 15]
  -s, --service host:port  Services to test, in one of the formats: ':port',
                           'hostname:port', 'v4addr:port', '[v6addr]:port' or
                           'https://...'

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

By adding the -p or --parallel option, wait-for-it can do the same in parallel rather than serial:

$ wait-for-it \
--parallel \
--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.bing.com:80
[*] Waiting 15 seconds for www.duckduckgo.com:80
[*] Waiting 15 seconds for www.google.com:80
[+] www.bing.com:80 is available after 0 seconds
[+] www.duckduckgo.com:80 is available after 0 seconds
[+] www.google.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

License

MIT © Travis Clarke, Sebastian Pipping

FAQs


Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc