On this page:
Retry:   Retrying Arbitrary Computations

Retry: Retrying Arbitrary Computations

 (require retry) package: retry

This library provides utilities for defining retryers, values that describe how to retry an operation. Retryers can be used to attempt some operation and retry it in the event of failure. Retryers can be composed, allowing complex retry logic to be broken down into individual components. Retryers are exceptionally useful anytime an operation has inherent dependencies on time and external systems - for example, attempting to acquire a database connection when a database might be temporarily down or not yet initialized.

Source code for this library is avaible at https://github.com/jackfirth/racket-retry

    1 The Retry Guide

      1.1 Intro to Retryers

      1.2 Predefined Retryers

        1.2.1 Printing Retryers

        1.2.2 Limiting Retryers

        1.2.3 Sleeping Retryers

      1.3 Building Complex Retryers

        1.3.1 Retryer Composition

        1.3.2 Cyclic Retryers

        1.3.3 In Depth Example: Cyclic Exponential Backoff with Jittering

    2 The Retry Reference

      2.1 Core Retry API

      2.2 Built-In Retryers

      2.3 Higher-Order Retryers