#wait #http-status #docker-compose #url #host-port #tcp-port #async

bin+lib wait-for-them

Waits for TCP ports to be opened or for 200 status on http(s) urls

5 releases (breaking)

0.5.0 Sep 30, 2024
0.4.0 Feb 17, 2023
0.3.1 May 29, 2020
0.2.0 Mar 20, 2020
0.1.0 Mar 13, 2020

#752 in Command line utilities

Download history 36/week @ 2024-07-03 12/week @ 2024-07-10 8/week @ 2024-07-17 29/week @ 2024-07-24 30/week @ 2024-07-31 14/week @ 2024-08-07 7/week @ 2024-08-14 8/week @ 2024-08-21 8/week @ 2024-08-28 10/week @ 2024-09-04 21/week @ 2024-09-11 20/week @ 2024-09-18 210/week @ 2024-09-25 81/week @ 2024-10-02 35/week @ 2024-10-09 58/week @ 2024-10-16

390 downloads per month

GPL-3.0 license

85KB
630 lines

Security audit Code Quality Release Documentation Downloads

Wait-For-Them

Waits until all provided host and port pairs are opened or return status 200 in case of http(s) url. It is written using async rust.

Cast

Installation

There are currently two way how to install the app.

You can install the binary only with a minimal subset of features.

cargo install wait-for-them --no-default-features

Or you can install it with all its features (including the nice progressbars and http(s) support).

cargo install wait-for-them

Running

Wait forever

wait-for-them host1:port1 host2:port2 http://host3:8080/

Wait with timeout (in milliseconds)

wait-for-them -t 5000 host1:port1 host2:port2 http://host3:8080/

Note that it returns a number of unopened host:port combinations. So if it worked ok it returns standard 0.

Execute a command after all hosts have opened ports

wait-for-them host1:port1 host2:port2 http://host3:8080/ -- cmd arg1 arg2

Note that if the ports are opened it returns the status code of cmd.

Motivation

The main motivation of this program was to use it within docker-compose config file (see docker-compose.yml). To support waiting for multiple hostname:port records in parallel.

Dependencies

~9–22MB
~314K SLoC