A set of time related utilities.
This packages provides a missing Clock interface
that can be used to decouple program from a real clock functions and thus make
entire code testable.
See this example of its real world usage.
Provides extensible Retrier entity, allowing to improve resilience in a program.
What makes this implementation special is its simple interface and extensibility in terms of
backoff,
decider
and clock
abstractions that are used under the hood.
Another special feature is the ability
to run retriable code with custom logic of picking delay time between retries.
It may seem like a pretty rare case, but if you got into that, this DoManual function
can make your handling code much more cleaner.