Garcom
Rerun a command until it returns successfully or a timeout is reached. (Garçom means waiter in Portuguese)
Basic usage
Note: Garcom requires node 4+
npm i -g garcomgarcom <timeout> [<options>] <command> garcom 60 --message "We didn't make it in time :(" sh my-script.sh && echo "Worth the wait"
Options
Garcom has one required argument, the number of seconds to wait before timing out garcom <timeout>
--message <string: ''> message to write to stderr on failure --delay <number: 0.5> number of seconds to wait between runs of the given command--invert <bool: false>
Examples
# we are waiting for a server to boot at localhost:80/my-endpoint. It succesfully boots under the 5 second limit garcom 30 curl localhost:80/my-endpoint && echo 'Our server is now running, lets do something cool!'Our server is now running, let's do something cool!echo $?0 # we are waiting for a server to boot at localhost:80/my-endpoint. It does not succed :(garcom 30 curl localhost:80/my-endpoint && echo 'Our server is now running, lets do something cool!'echo $?1
Contributing
# clone repository npm i# Hack and add tests npm t# Pull request!