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

Descoperă cele mai bune repository-uri open source cu căutare AI.

ExploreazăCăutări recomandateAlternative open-sourceSoftware self-hostedBlogHartă site
ProiectDespreCum realizăm clasamentulPresăServer MCP
LegalConfidențialitateTermeni
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
jd avatar

jd/tenacity

0
View on GitHub↗
8,375 stele·306 fork-uri·Python·apache-2.0·9 vizualizăritenacity.readthedocs.io↗

Tenacity

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 through maximum attempt counts or elapsed time. It also includes tools for monitoring reliability via retry statistics and custom callbacks.

Features

  • Automatic Retry Mechanisms - Automatically re-executes failing functions or code blocks based on specified conditions for both synchronous and asynchronous calls.
  • Fault Tolerance Implementation - Implements a framework of decorators and objects to automate recovery from function failures through managed retries.
  • Retry Wait Strategies - Calculates the pause between attempts using strategies like exponential backoff and random jitter.
  • Resilient Application Patterns - Handles intermittent failures in code by automatically retrying functions until they succeed or a limit is reached.
  • Asynchronous Task Retries - Implements automatic retry mechanisms for asynchronous coroutines to handle transient errors in concurrent workflows.
  • Retry Libraries - Provides a specialized library for automatic function re-execution with custom conditions and wait intervals.
  • Retry Policies - Enables triggering retries based on specific exception types, error messages, or function return values.
  • Exception-Driven Control Flows - Uses caught exceptions to trigger the retry loop and raises the final error once limits are reached.
  • Function Decorators - Implements retry logic using Python decorators to wrap target functions and manage execution loops.
  • Retry Policies - Stops retries after a maximum number of attempts or a specific elapsed time.
  • Backoff Strategies - Implements exponential backoff to increase delays between retries and prevent overloading external services.
  • Predicate-Based Error Filtering - Determines whether to retry by evaluating exceptions against specified types or custom boolean predicate functions.
  • Wait Interval Controllers - Manages pauses between retries using fixed delays, random intervals, or exponential backoff.
  • System Stability Protections - Prevents service overload during outages by controlling retry intervals and limiting execution duration.
  • Error Recovery - Tracks failure rates and attempt counts for critical operations to monitor system reliability.
  • Retry Metrics Monitoring - Provides access to attempt counts and outcome data to monitor the reliability of retried functions.
  • Retry and Backoff Logic - Manages unstable API calls or database connections using exponential backoff and specific retry conditions.
  • General Utilities - General-purpose library for retrying operations.

Istoric stele

Graficul istoricului de stele pentru jd/tenacityGraficul istoricului de stele pentru jd/tenacity

Căutare AI

Explorează mai multe repository-uri excelente

Descrie ce ai nevoie în limbaj simplu — AI-ul sortează mii de proiecte open source selectate în funcție de relevanță.

Start searching with AI

Întrebări frecvente

Ce face jd/tenacity?

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.

Care sunt principalele funcționalități ale jd/tenacity?

Principalele funcționalități ale jd/tenacity sunt: Automatic Retry Mechanisms, Fault Tolerance Implementation, Retry Wait Strategies, Resilient Application Patterns, Asynchronous Task Retries, Retry Libraries, Retry Policies, Exception-Driven Control Flows.

Care sunt câteva alternative open-source pentru jd/tenacity?

Alternativele open-source pentru jd/tenacity includ: resilience4j/resilience4j — Resilience4j is a fault tolerance library for Java 8 applications designed to handle failures in distributed systems.… avast/retry-go — Retry-go is a utility library for Go that automates the re-execution of failing code blocks and operations until they… jhalterman/failsafe — Failsafe is a JVM resilience library providing a collection of fault tolerance patterns for Java applications. It… crazyguitar/pysheeet — pysheeet is a technical reference library providing a curated collection of code snippets and implementation patterns… failsafe-lib/failsafe — Failsafe is a JVM fault tolerance library and resilience pattern framework. It provides a toolkit for implementing… spring-projects/spring-retry — Spring Retry is a Java library that provides exception handling, automated operation reattempts, backoff strategies,…

Alternative open-source pentru Tenacity

Proiecte open-source similare, clasificate după numărul de funcționalități comune cu Tenacity.
  • resilience4j/resilience4jAvatar resilience4j

    resilience4j/resilience4j

    10,689Vezi pe 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
    Vezi pe GitHub↗10,689
  • avast/retry-goAvatar avast

    avast/retry-go

    2,929Vezi pe GitHub↗

    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 h

    Gogogolanghacktoberfest
    Vezi pe GitHub↗2,929
  • jhalterman/failsafeAvatar jhalterman

    jhalterman/failsafe

    4,307Vezi pe GitHub↗

    Failsafe is a JVM resilience library providing a collection of fault tolerance patterns for Java applications. It functions as an asynchronous execution wrapper that runs tasks in the background and returns futures to prevent thread blocking. The library allows for the composition of resilience policies, enabling multiple patterns to be stacked into a sequential pipeline. It includes specific implementations for circuit breaking to prevent system overload, rate limiting to control traffic flow, and a framework for managing retries and fallbacks. Capability areas cover traffic management thro

    Java
    Vezi pe GitHub↗4,307
  • crazyguitar/pysheeetAvatar crazyguitar

    crazyguitar/pysheeet

    8,150Vezi pe GitHub↗

    pysheeet is a technical reference library providing a curated collection of code snippets and implementation patterns for advanced Python development, system integration, and high-performance computing. It serves as a comprehensive guide for implementing low-level network programming, native C extensions, and asynchronous and concurrent programming. The project provides specialized frameworks for the development and deployment of large language models, including tools for distributed GPU inference and high-performance serving. It also includes detailed patterns for high-performance computing

    Python
    Vezi pe GitHub↗8,150
Vezi toate cele 30 alternative pentru Tenacity→