mirror of
https://github.com/thegeeklab/wait-for.git
synced 2024-11-05 04:20:42 +00:00
42 lines
1.1 KiB
Markdown
42 lines
1.1 KiB
Markdown
|
## Wait for another service
|
||
|
|
||
|
`./wait-for` is a script designed to synchronize services like docker containers. It is [sh](https://en.wikipedia.org/wiki/Bourne_shell) and [alpine](https://alpinelinux.org/) compatible.
|
||
|
|
||
|
`./wait-for` has been inspired by [vishnubob/wait-for-it](https://github.com/vishnubob/wait-for-it), but the core has been rewritten at [Eficode](http://eficode.com/).
|
||
|
|
||
|
## Usage
|
||
|
|
||
|
```
|
||
|
./wait-for host:port [-t timeout] [-- command args]
|
||
|
-q | --quiet Do not output any status messages
|
||
|
-t TIMEOUT | --timeout=timeout Timeout in seconds, zero for no timeout
|
||
|
-- COMMAND ARGS Execute command with args after the test finishes
|
||
|
```
|
||
|
|
||
|
## Examples
|
||
|
|
||
|
To check if [eficode.com](https://eficode.com) is available:
|
||
|
|
||
|
```
|
||
|
$ ./wait-for www.eficode.com:80 -- echo "Eficode site is up"
|
||
|
|
||
|
Connection to www.eficode.com port 80 [tcp/http] succeeded!
|
||
|
Eficode 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
|
||
|
```
|