0
0
mirror of https://github.com/thegeeklab/retry.git synced 2024-11-21 23:20:40 +00:00

update readme for shell version, add env parameter example

This commit is contained in:
Neville Kadwa 2018-01-23 13:27:06 -05:00
parent 39ef2201bb
commit 7dfebe7751

View File

@ -1,4 +1,4 @@
retryit - The command line retry tool retry - The command line retry tool
------------------------------------------ ------------------------------------------
Retry any shell command with exponential backoff or constant delay. Retry any shell command with exponential backoff or constant delay.
@ -7,7 +7,13 @@ Retry any shell command with exponential backoff or constant delay.
Install: Install:
`gem install retryit` retry is a shell script, so drop it somewhere and make sure it's added to your $PATH. Or you can use the following one-liner:
`sudo sh -c "curl https://raw.githubusercontent.com/kadwanev/retry/master/retry -o /usr/local/bin/retry && chmod +x /usr/local/bin/retry"`
If you're on OS X, spark is also on Homebrew:
`brew install retry`
### Usage ### Usage
@ -15,14 +21,15 @@ Help:
`retry -?` `retry -?`
Usage: retry [options] [-f fail_script +commands] -e execute command Usage: retry [options] -- execute command
-h, -?, --help -h, -?, --help
-f Execute fail script after all retries are exhausted -v, --verbose Verbose output
-t, --tries=# Set max retries: Default 10 -t, --tries=# Set max retries: Default 10
-s, --sleep=secs Constant sleep amount (seconds) -s, --sleep=secs Constant sleep amount (seconds)
-m, --min=secs Exponenetial Backoff: minimum sleep amount (seconds): Default 0.3 -m, --min=secs Exponenetial Backoff: minimum sleep amount (seconds): Default 0.3
-x, --max=secs Exponenetial Backoff: maximum sleep amount (seconds): Default 60 -x, --max=secs Exponenetial Backoff: maximum sleep amount (seconds): Default 60
-f, --fail="script +cmds" Fail Script: run in case of final failure
### Examples ### Examples
No problem: No problem:
@ -60,7 +67,7 @@ Test functionality:
Limit retries: Limit retries:
`retry -t 4 -e 'echo "y u no work"; false'` `retry -t 4 'echo "y u no work"; false'`
y u no work y u no work
Before retry #1: sleeping 0.3 seconds Before retry #1: sleeping 0.3 seconds
@ -77,11 +84,11 @@ Bad command:
`retry poop` `retry poop`
Command Failed: poop bash: poop: command not found
Fail command: Fail command:
`retry -t 3 -f echo "oh poopsickles" -e 'echo "y u no work"; false'` `retry -t 3 -f 'echo "oh poopsickles"' 'echo "y u no work"; false'`
y u no work y u no work
Before retry #1: sleeping 0.3 seconds Before retry #1: sleeping 0.3 seconds
@ -93,6 +100,18 @@ Fail command:
Retries exhausted, running fail script Retries exhausted, running fail script
oh poopsickles oh poopsickles
Last attempt passed:
`retry -t 3 -- 'if [ $RETRY_ATTEMPT -eq 3 ]; then echo Passed at attempt $RETRY_ATTEMPT; true; else echo Failed at attempt $RETRY_ATTEMPT; false; fi;'`
Failed at attempt 0
Before retry #1: sleeping 0.3 seconds
Failed at attempt 1
Before retry #2: sleeping 0.6 seconds
Failed at attempt 2
Before retry #3: sleeping 1.2 seconds
Passed at attempt 3
### License ### License
Apache 2.0 - go nuts Apache 2.0 - go nuts