Sign inSign up

thegeeklab/wait-for

By thegeeklab

•Updated 12 days ago

Retry any shell command

Image
0

100K+

thegeeklab/wait-for repository overview

⁠wait-for

Poor-mans service synchronizer

Build Status Docker Hub Quay.io GitHub contributors Source: GitHub License: MIT

wait-for is a script designed to synchronize services like containers. It is sh⁠ and alpine⁠ compatible and was forked from eficode/wait-for⁠.

When using this tool, you only need to pick the wait-for file as part of your project.

⁠Usage

$ wait-for --help
usage: wait-for host:port [-t timeout] [-- command args]

Synchronize services like containers and wait for readiness.

optional arguments:
  -q | --quiet                              Do not output any status messages
  -t WAITFOR_TIMEOUT | --timeout=timeout    Timeout in seconds, zero for no timeout
  -- COMMAND ARGS                           Execute command with args after the test finishes

⁠Dependencies

  • Installed Netcat or Bash (to use /dev/tcp)

⁠Examples

To check if google.com⁠ is available:

$ ./wait-for google.com:80 -- echo "Google site is up"

Google site is up

To wait for database container to become available:

version: '2'

services:
  db:
    image: postgres:9.4

  backend:
    build: backend
    command: sh -c './wait-for db:5432 -- npm start'
    depends_on:
      - db

⁠Contributors

Special thanks to all contributors⁠. If you would like to contribute, please see the instructions⁠.

⁠License

This project is licensed under the MIT License - see the LICENSE⁠ file for details.

Tag summary

Content type

Image

Digest

sha256:a6103edc4…

Size

3.8 MB

Last updated

12 days ago

docker pull thegeeklab/wait-for