awesome-repositories.com
Blog
MCP
awesome-repositories.com

Découvrez les meilleurs dépôts open-source grâce à notre recherche par IA.

ExplorerRecherches sélectionnéesAlternatives open sourceLogiciels auto-hébergésBlogPlan du site
ProjetServeur MCPÀ proposNotre méthodologiePresse
Mentions légalesConfidentialitéConditions d'utilisation
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
avast avatar

avast/retry-go

0
View on GitHub↗
2,929 stars·174 forks·Go·MIT·8 vuesgodoc.org/github.com/avast/retry-go↗

Retry Go

Retry-go is a utility library for Go that automates the re-execution of failing code blocks and operations until they succeed or exhaust configured attempt limits. It provides mechanisms for handling transient failures, capturing both computed results and final errors from repeatedly executed functions.

The library supports configurable retry timing through fixed intervals, exponential backoff strategies, and randomized jitter to control recovery speed and prevent overwhelming recovering services. It also includes error filtering rules that trigger retries on specific error conditions while halting execution immediately for unrecoverable failures, alongside lifecycle management features such as timeouts, cancellation signals, attempt callbacks, and reusable persistent policies.

Features

  • Error Handling Automation - Automates the re-execution of failing code blocks in Go programs until they succeed or exhaust attempt limits.
  • Retry Libraries - Executes operations with configurable retry limits, exponential backoff, jitter, and error-filtering rules.
  • Retry Policies - Allows instantiating persistent retry policies to apply across multiple execution cycles and minimize allocation overhead.
  • Backoff Strategies - Enables configuring retry timing using fixed intervals, exponential backoff, randomized jitter, or custom strategies to control recovery speed.
  • Automatic Task Retries - Executes failed operations repeatedly according to configurable limits and rules until success or exhaustion.
  • Retry Policy Management - Manages retry contexts with timeouts, cancellation signals, attempt callbacks, and reusable configurations across operations.
  • Conditional Retry Policies - Supports defining specific error conditions that trigger retries while halting execution immediately for unrecoverable failures.
  • Transient Error Recovery Policies - Provides a utility for handling transient failures in Go code by automatically re-running functions until success.
  • Resilient Networking Patterns - Handles transient network drops and server timeouts by automatically repeating failed HTTP calls and API requests.

Historique des stars

Graphique de l'historique des stars pour avast/retry-goGraphique de l'historique des stars pour avast/retry-go

Recherche par IA

Explorez plus de dépôts awesome

Décrivez vos besoins en langage naturel — l'IA classe des milliers de projets open source sélectionnés par pertinence.

Start searching with AI

Collections incluant Retry Go

Sélections manuelles où Retry Go apparaît.
  • Flow control patterns

Alternatives open source à Retry Go

Projets open source similaires, classés selon le nombre de fonctionnalités partagées avec Retry Go.
  • jd/tenacityAvatar de jd

    jd/tenacity

    8,375Voir sur GitHub↗

    Tenacity is a Python retry library and fault tolerance framework designed to automatically re-execute failing functions based on custom conditions, wait intervals, and stop criteria. It provides a mechanism to apply retry logic to both synchronous functions and asynchronous coroutines. The library implements exponential backoff to increase delays between retries, helping to manage transient network failures and prevent the overloading of services. Its capabilities cover the definition of retry conditions based on exception types or return values, as well as the enforcement of duration limits

    Pythonfailurehacktoberfestpython
    Voir sur GitHub↗8,375
  • resilience4j/resilience4jAvatar de resilience4j

    resilience4j/resilience4j

    10,689Voir sur GitHub↗

    Resilience4j is a fault tolerance library for Java 8 applications designed to handle failures in distributed systems. It provides a comprehensive suite of resilience patterns including resource isolation, request throttling, retries, and timeouts. The project implements specific stability mechanisms such as circuit breakers to prevent cascading failures, bulkheads for system resource isolation, and rate limiters to cap execution rates. It also includes a retry framework with backoff policies and timeout enforcement to manage transient faults and maximum execution durations. Additional capabi

    Javabulkheadcircuitbreakermetrics
    Voir sur GitHub↗10,689
  • cenkalti/backoffAvatar de cenkalti

    cenkalti/backoff

    4,021Voir sur GitHub↗

    This is a Go library providing a framework for managing repetitive task execution and implementing exponential backoff strategies. It serves as a concurrency tool designed to prevent system overload during failures by retrying operations with increasing delays. The project implements a retry strategy framework that manages attempt limits and timeouts during unstable network or system calls. It specifically provides an implementation of the exponential backoff algorithm to handle failing operations. The library covers reliability patterns for mitigating transient failures and service outages,

    Gogolang
    Voir sur GitHub↗4,021
  • spring-projects/spring-retryAvatar de spring-projects

    spring-projects/spring-retry

    2,268Voir sur GitHub↗

    Spring Retry is a Java library that provides exception handling, automated operation reattempts, backoff strategies, and recovery mechanisms for application workflows. It handles transient operation failures through declarative annotations, programmatic templates, stateful context storage, and fallback recovery paths. The library controls retry behavior by specifying attempt counts, timeouts, and inclusion or exclusion rules for specific exception types. It pauses execution between attempts using fixed, exponential, or randomized backoff intervals, and caches retry state outside the call stac

    Java
    Voir sur GitHub↗2,268
Voir les 30 alternatives à Retry Go→

Questions fréquentes

Que fait avast/retry-go ?

Retry-go is a utility library for Go that automates the re-execution of failing code blocks and operations until they succeed or exhaust configured attempt limits. It provides mechanisms for handling transient failures, capturing both computed results and final errors from repeatedly executed functions.

Quelles sont les fonctionnalités principales de avast/retry-go ?

Les fonctionnalités principales de avast/retry-go sont : Error Handling Automation, Retry Libraries, Retry Policies, Backoff Strategies, Automatic Task Retries, Retry Policy Management, Conditional Retry Policies, Transient Error Recovery Policies.

Quelles sont les alternatives open-source à avast/retry-go ?

Les alternatives open-source à avast/retry-go incluent : jd/tenacity — Tenacity is a Python retry library and fault tolerance framework designed to automatically re-execute failing… resilience4j/resilience4j — Resilience4j is a fault tolerance library for Java 8 applications designed to handle failures in distributed systems.… spring-projects/spring-retry — Spring Retry is a Java library that provides exception handling, automated operation reattempts, backoff strategies,… cenkalti/backoff — This is a Go library providing a framework for managing repetitive task execution and implementing exponential backoff… yiisoft/yii2-queue — This project is a PHP framework for offloading time-consuming tasks to background workers, enabling asynchronous… temporalio/temporal — Temporal is a distributed workflow orchestration engine designed to manage fault-tolerant, stateful, and long-running…