Popularity
2.5
Growing
Activity
1.1
-
5
2
0
Programming language: Crystal
License: MIT License
Tags:
Misc
Latest version: v1.1.0
simple_retry alternatives and similar shards
Based on the "Misc" category.
Alternatively, view simple_retry alternatives based on common mentions on social networks and blogs.
-
burocracia.cr
burocracia.cr the dependecyless shard to validate, generate and format Brazilian burocracias such as CPF, CNPJ and CEP -
crystal-web-framework-stars
Web frameworks for Crystal, most starred on Github -
message_verifier.cr
Verify and generate Rails ActiveSupport::MessageVerifier signed tokens
Get performance insights in less than 4 minutes
Scout APM uses tracing logic that ties bottlenecks to source code so you know the exact line of code causing performance issues and can get back to building a great product faster.
Sponsored
scoutapm.com
Do you think we are missing an alternative of simple_retry or a related project?
README
Simple Retry
A library for managing blocks of code that you might want to retry when an error occurs.
Installation
- Add the dependency to your
shard.yml
:
dependencies:
simple_retry:
github: spider-gazelle/simple_retry
- Run
shards install
Usage
require "simple_retry"
SimpleRetry.try_to do
# Something that should succeed eventually
num = rand(10)
raise "bad number #{num}" if num < 5
# Return the number
num
end
There are a number of options you can use to customise
require "simple_retry"
SimpleRetry.try_to(
# Runs the block at most 5 times
max_attempts: 5,
# Will always stop retrying on these errors
raise_on: DivisionByZeroError | ArgumentError,
# Will only retry on these errors
retry_on: Exception,
# Initial delay time after first retry
base_interval: 10.milliseconds,
# Exponentially increase delay up to this period
max_interval: 10.seconds,
# Adjust the exponential growth by a random amount
randomise: 10.milliseconds
) do |run_count : UInt64, last_error : Exception?, next_delay_time : Time::Span|
# Something that should succeed
end