This utility is designed to run any shell command and retry if no new line was written tostdout within a specified timeout
Project description
console-retry
This utility is designed to run any shell command and retry if no new line was written to stdout within a specified timeout. Especially useful in CI to retry flaky tests/scripts
The default timeout applies to lines written to stdout of the shell command.
Retry is triggered when:
- No new line was written to stdout after specified timeout
Retry is not triggered when:
- The command as a whole takes longer than specified timeout
- The command returns a non-zero (error) return code
To be a good bash-citizen the return code is mirrors the return code of the subcommand or 1 if the command never finished in the specified timeout.
Example use / tests
console-retry -t 10 "echo abcd ; false" # Immediate fail
console-retry -r 1 "sleep 70" # Fail after default timeout = 60
console-retry -s -r 1 -t 10 "sleep 15" # Should "skip timeout and therefore succeed after 15s"
console-retry -t 10 "echo abcd ; true" # Immediate success
console-retry -p -o abcd -t 10 " sleep 5; echo abc ;sleep 20; false" # Should Complete with error on second try
console-retry -o abcd -t 10 " sleep 5; echo abc ;sleep 20; false" # Should fail after retrymax (no progressive)
console-retry -o abc -t 10 " sleep 5; echo abc ; false" # Should retry max but never with ok
console-retry -o abc -t 10 ">&2 echo abc ; false" # stderr, should retry max
console-retry -o nomatch -t 10 ">&2 echo abc ; false" # stderr, should fail immediately
console-retry -o abc -t 10 "echo abc ; true" # stderr, should succeed immediately
console-retry -o nomatch -t 10 ">&2 echo abc ; sleep 2; echo def; true" # Output should be: abc \ndef
console-retry -t 10 ">&2 echo abc ; sleep 10; echo def; sleep 10; true" # Staggered output
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file console_retry-1.0.4.tar.gz
.
File metadata
- Download URL: console_retry-1.0.4.tar.gz
- Upload date:
- Size: 4.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.6.8
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
8f54b4dc9cee80149060a26856f3c93ed019cdc98d8499570bb65c8f66f18ac3
|
|
MD5 |
b3cba07575b9344cf844aa041ea8a282
|
|
BLAKE2b-256 |
a921b2628efb215e7d2aaf8ad1b63a36c26b8525a69dacff177748a7ce96280f
|
File details
Details for the file console_retry-1.0.4-py3-none-any.whl
.
File metadata
- Download URL: console_retry-1.0.4-py3-none-any.whl
- Upload date:
- Size: 5.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.6.8
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
c16e75e517aa6773dbc0e98b8aa642ec43044f865f68de129b5c8becf3aac787
|
|
MD5 |
3c38a447206ebfc22a2b4ef5c7044e2b
|
|
BLAKE2b-256 |
7e1df441462a870ddcb69bd96733eed74891866f7718a68fac58f3aa0eb744aa
|