32 lines
2.0 KiB
Markdown
32 lines
2.0 KiB
Markdown
|
# Luzifer / backoff
|
||
|
|
||
|
`backoff` is a small CLI util wrapping [`github.com/Luzifer/go_helpers/v2/backoff`](https://pkg.go.dev/github.com/Luzifer/go_helpers/v2@v2.20.0/backoff) to be used in shell scripts
|
||
|
|
||
|
## Usage
|
||
|
|
||
|
```console
|
||
|
# backoff --help
|
||
|
Usage of backoff:
|
||
|
--log-level string Log level (debug, info, warn, error, fatal) (default "info")
|
||
|
--max-iteration-time duration How long to wait at most between iterations (default 1m0s)
|
||
|
-i, --max-iterations uint Maximum number of retries (0 = infinite)
|
||
|
-t, --max-total-time duration Deadline for overall executions (0 = infinite)
|
||
|
--min-iteration-time duration How long to wait before first retry (default 100ms)
|
||
|
--mulitplier float Mulitplier to apply to the wait-time after each retry (1.0 = constant backoff) (default 1.5)
|
||
|
--stdin Pass stdin to command, to do so stdin will be fully buffered to memory before starting the command, enabling without input wil hang forever
|
||
|
--version Prints current version and exits
|
||
|
|
||
|
# backoff -i 10 --log-level=debug -- false
|
||
|
time="2023-07-22T14:38:28+02:00" level=debug msg="starting execution" try=1
|
||
|
time="2023-07-22T14:38:28+02:00" level=debug msg="starting execution" try=2
|
||
|
time="2023-07-22T14:38:28+02:00" level=debug msg="starting execution" try=3
|
||
|
time="2023-07-22T14:38:28+02:00" level=debug msg="starting execution" try=4
|
||
|
time="2023-07-22T14:38:28+02:00" level=debug msg="starting execution" try=5
|
||
|
time="2023-07-22T14:38:29+02:00" level=debug msg="starting execution" try=6
|
||
|
time="2023-07-22T14:38:30+02:00" level=debug msg="starting execution" try=7
|
||
|
time="2023-07-22T14:38:31+02:00" level=debug msg="starting execution" try=8
|
||
|
time="2023-07-22T14:38:33+02:00" level=debug msg="starting execution" try=9
|
||
|
time="2023-07-22T14:38:35+02:00" level=debug msg="starting execution" try=10
|
||
|
time="2023-07-22T14:38:35+02:00" level=fatal msg="retrying command" error="Maximum iterations reached: executing command: exit status 1"
|
||
|
```
|