Show HN: Attempt – A CLI for retrying fallible commands (github.com)
Here's a tool I wrote for retrying fallible commands. Nothing groundbreaking here, this is a tool that's been made many times (and several have been submitted to Show HN). Though this one does have a more comprehensive feature set than most. I hope one or two people will find it useful.
I wrote `attempt` for two reasons:
- To have a more featureful alternative to `wait-for-it.sh` for use in Docker Compose. Specifically to apply migration scripts to a database that may not be up yet. I wanted to be able to inspect the error messages from my migration tool & retry on connection errors.
- To test a hypothesis I had that a good way to make a CLI was to copy the API of a good library (in this case, `tenacity`). I want to write a blog post at some point to discuss this at length, but the tl;dr is that I believe it was a success.
Here are some usage examples: https://maxbondabe.github.io/attempt/usage.html
There may not be much to discuss for such a small tool, but I am open to all feedback and am happy to answer any questions.
Cheers,
Max
9 comments
[ 3.3 ms ] story [ 30.0 ms ] threadOne thing I’m kind of curious about from a UI standpoint is why the exponential argument isn’t a double-hyphen flag. It kind of feels like it should be, given all of the other arguments are flags.
I've created an issue: https://github.com/MaxBondABE/attempt/issues/5
Any time I hear people praising all these orchestrators, whether it's Docker, K8, or whatever, I remember that a good amount of it is all lies built with glue and sticks like "wait-for-it.sh".