10 repositorios
Internal tracking of attempt counts and timestamps for a specific function execution sequence.
Distinct from Parser State Tracking: Nothing in the shortlist covers the specific transient state tracking required for retry loops (counts/timestamps).
Explore 10 awesome GitHub repositories matching software engineering & architecture · Retry State Tracking. Refine with filters or upvote what's useful.
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
Maintains an internal counter and timestamp object for each function call to track attempts and elapsed time.
Fluent Bit es un recolector de logs y telemetría unificado, nativo de la nube, diseñado como un pipeline de datos eficiente en recursos. Ingiere logs, métricas y trazas de múltiples fuentes, procesándolos en tiempo real antes de enrutar los datos a backends de almacenamiento externos. El proyecto funciona como un procesador de flujos en tiempo real y procesador de logs de OpenTelemetry, capaz de transformar y filtrar datos utilizando SQL y lógica condicional. También actúa como un agente de rastreo distribuido que puede muestrear trazas para reducir el volumen de datos mientras preserva las rutas completas de las solicitudes. El sistema proporciona una entrega de datos fiable mediante almacenamiento en búfer respaldado por el sistema de archivos y lógica de reintento con estado para evitar la pérdida de datos durante interrupciones. Su arquitectura modular admite plugins de entrada y salida conectables, enrutamiento basado en metadatos y la capacidad de extender la funcionalidad mediante bibliotecas compartidas. El software puede desplegarse como un contenedor a través de diferentes arquitecturas de CPU y sistemas operativos.
Tracks delivery status and schedules retries for failed transmissions to ensure reliable telemetry delivery.
Flyte is a Kubernetes-based machine learning orchestrator and containerized pipeline manager designed for coordinating AI workflows and data pipelines. It functions as an engine for defining and executing resilient pipelines, utilizing a data lineage tracker to maintain immutable execution states and ensure reproducible outputs. The platform distinguishes itself by packaging individual tasks into separate containers to ensure dependency isolation and environment consistency. It provides specialized capabilities for machine learning, including the transformation of trained models into scalable
Monitors the execution status and input-output data of individual actions, including detailed tracking of retry attempts.
Este proyecto es una biblioteca de integración de analíticas en JavaScript y un recolector de eventos del lado del cliente, diseñado para registrar el comportamiento del usuario y distribuir esos datos a múltiples destinos de analíticas de terceros a través de una interfaz unificada. Funciona como una plataforma de datos de clientes que identifica usuarios, gestiona atributos y enruta flujos de eventos a diversas herramientas de analítica y almacenes de datos. La biblioteca se distingue por un enrutador de eventos multidestino y un middleware de seguimiento HTTP que intercepta y modifica las cargas útiles de los eventos antes de su transmisión. Implementa primitivas de gestión de identidad para la identificación de usuarios, alias de identidad para combinar perfiles y seguimiento entre subdominios mediante el almacenamiento de identificadores en el dominio de nivel superior. El sistema cubre una amplia gama de capacidades, incluyendo el monitoreo de la interacción del usuario para vistas de página, envíos de formularios y clics en enlaces, así como el seguimiento de campañas de marketing mediante la extracción de parámetros UTM. Para mayor fiabilidad, utiliza procesamiento por lotes de solicitudes de eventos, colas de reintento basadas en almacenamiento local con retroceso exponencial y flags de keepalive del navegador para asegurar la captura de datos durante las redirecciones de página. La biblioteca también admite píxeles de seguimiento para entornos que restringen la ejecución de JavaScript y proporciona mecanismos para la ofuscación de URLs de integración para evitar el bloqueo de solicitudes.
Implements a local storage-based retry queue with exponential backoff to prevent data loss during network outages.
WePush es una pasarela de notificaciones multicanal y despachador de mensajes masivos diseñado para enviar notificaciones personalizadas a través de proveedores de SMS, correo electrónico, plataformas sociales y canales de comunicación corporativa. Funciona como un hub de mensajería empresarial que enruta notificaciones a través de una interfaz unificada, incluyendo un gestor centralizado para múltiples proveedores de SMS en la nube. El sistema incluye un motor de programación de notificaciones para activar entregas en fechas y horas futuras específicas. Admite la gestión de múltiples cuentas, permitiendo a los usuarios cambiar entre diferentes identidades de proveedores de servicios para enviar notificaciones desde varias cuentas. La plataforma proporciona capacidades para la personalización del contenido de los mensajes mediante un sistema de plantillas y gestiona el alcance a gran escala mediante la importación de listas de destinatarios. También incorpora seguimiento del historial de entrega para monitorear el estado de las notificaciones enviadas y gestionar el reenvío de mensajes fallidos.
Tracks the lifecycle and transmission status of individual messages to manage automated delivery retries.
This is a Go library that implements a leaky-bucket algorithm to control the frequency of operations and requests per second. It serves as a concurrent request throttler that blocks calling threads until request slots become available to maintain a steady execution rate. The project includes a traffic burst controller that allows the accumulation of unspent request capacity, permitting short-term spikes in volume while maintaining a defined long-term average rate. The library provides capabilities for operation frequency limiting, request interval enforcement, and application resource protec
Maintains internal timestamps of the last execution to calculate necessary wait periods.
This is a web-based adaptive touch typing trainer designed to help users master touch typing through personalized exercises. It functions as a heuristic typing tutor that generates custom lessons based on individual keystroke statistics and accuracy data. The application uses adaptive skill modeling to prioritize the most difficult keys for a user and predicts the number of lessons required to reach specific target speeds. A performance dashboard transforms raw typing statistics into graphical representations to visualize learning growth and proficiency over time. The system covers real-time
Stores real-time typing metrics and performance history locally for immediate feedback.
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,
Tracks the number of failed attempts to enforce maximum retry limits.
pg-boss is a background task scheduler and distributed task queue that uses PostgreSQL as a reliable message broker for asynchronous job processing. It provides a system for distributing work across multiple application instances, ensuring exactly-once delivery through atomic database transactions. The project includes a cron job scheduler for automating recurring tasks and a PostgreSQL pub-sub system for fan-out event distribution. It also features a web-based management dashboard for monitoring queue statistics and controlling job lifecycles, including manual retries and cancellations. Cap
Tracks job progress through a set of predefined states to manage retries and failures.
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
Caches retry state outside the call stack to safely handle failures involving transactional resources.