Skip to content

A command-line tool to await the successful completion of a program.

License

Notifications You must be signed in to change notification settings

askreet/waitfor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

waitfor

waitfor is a command-line utility that executes another command repeatedly, until it exits with a zero exitstatus.

Usage

The basic usage is:

# Wait for a file to be downloaded successfully.
waitfor curl -O http://example.com/file.tar.gz

# Wait for a remote host to respond to a ping.
waitfor ping -c 1 -t 1 192.168.1.42

# Wait for a FIFO socket file to appear on disk.
waitfor test -f /tmp/mysql.sock

By default, waitfor will run the command with a linear delay of 100ms between invocations. This can be adjusted with the --delay / -d options (in milliseconds).

Command output

waitfor forwards all standard output and error to its standard output and standard error.

Backoff and Timeout

waitfor can be configured with two types of delays between attempts.

  • Linear delay (--linear / -l, default) will pause a number of milliseconds (specified by --delay / -d) between executions.
  • Exponential backoff (--backoff / -b) will start with the inital delay (--delay / -d) and increase at a provided rate (--rate / -r).

In all cases, the delay is calculated after an attempt completes, not from the time an attempt is started, so it cannot guarentee a rate of requests because that is dependent on the time an individual attempt takes.

About

A command-line tool to await the successful completion of a program.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages