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
·

19 dépôts

Awesome GitHub RepositoriesContext-Aware Cancellation

Mechanisms for terminating long-running operations based on lifecycle signals or request timeouts.

Distinct from Asynchronous Operation Cancellation: Distinct from Asynchronous Operation Cancellation: focuses specifically on database query lifecycle management via context signals.

Explore 19 awesome GitHub repositories matching software engineering & architecture · Context-Aware Cancellation. Refine with filters or upvote what's useful.

Awesome Context-Aware Cancellation GitHub Repositories

Trouvez les meilleurs dépôts grâce à l'IA.Nous recherchons les dépôts les plus pertinents grâce à l'IA.
  • go-sql-driver/mysqlAvatar de go-sql-driver

    go-sql-driver/mysql

    15,424Voir sur GitHub↗

    This project is a native Go driver for the MySQL protocol, providing a communication layer that enables applications to interact with relational database management systems. It implements the standard database interface, allowing developers to manage persistent connections, execute queries, and handle transactions within their applications. The driver functions by translating high-level database commands into the specific binary packet format required for communication with MySQL servers. It manages network sessions through a connection pooling mechanism and supports context-aware query cance

    Monitors lifecycle signals to terminate long-running network operations immediately when a request is aborted or times out.

    Godatabasegomariadb
    Voir sur GitHub↗15,424
  • effect-ts/coreAvatar de Effect-TS

    Effect-TS/core

    14,618Voir sur GitHub↗

    This project is a functional programming library and toolkit for building production TypeScript applications. It provides a system for managing concurrency, error handling, and resource lifecycles using functional effects. The project distinguishes itself through a comprehensive suite of specialized toolkits, including a dependency injection framework for decoupling service implementations, a workflow orchestrator for coordinating durable processes, and a SQL database toolkit for consistent data operations across multiple dialects. It also implements an OpenTelemetry instrumentation library f

    Tracks the lifecycle of external resources to ensure proper acquisition and release across asynchronous boundaries.

    TypeScript
    Voir sur GitHub↗14,618
  • app-vnext/pollyAvatar de App-vNext

    App-vNext/Polly

    14,191Voir sur GitHub↗

    Polly is a resilience and transient-fault-handling library for .NET applications. It provides a framework for defining and executing stability patterns that manage failures and resource exhaustion during operation execution. The library enables developers to compose complex resilience strategies through a fluent builder pattern, wrapping target operations in functional decorators. These policies intercept execution flow to apply automated recovery mechanisms, such as retries for temporary errors or circuit breakers that isolate unstable components by blocking requests. The framework supports

    Enforces time-bounded limits on operations using native cancellation tokens to prevent resource exhaustion.

    C#circuit-breakercircuit-breaker-patterndotnet
    Voir sur GitHub↗14,191
  • kubernetes-sigs/kubebuilderAvatar de kubernetes-sigs

    kubernetes-sigs/kubebuilder

    8,992Voir sur GitHub↗

    Kubebuilder is a framework and set of scaffolding tools used to build Kubernetes APIs and controllers. It functions as an operator framework that provides generators for custom resource definitions, admission webhooks, and RBAC manifests to extend cluster functionality. The project distinguishes itself through marker-based code generation, which parses source code comments to automatically produce Kubernetes manifests and boilerplate logic. It employs a hub-and-spoke versioning model to translate data between multiple API versions and uses a three-way merge strategy to automate project migrat

    Implements asynchronous pre-delete hooks via finalizers to clean up external resources before object removal.

    Gok8s-sig-api-machinery
    Voir sur GitHub↗8,992
  • xxjwxc/uber_go_guide_cnAvatar de xxjwxc

    xxjwxc/uber_go_guide_cn

    8,172Voir sur GitHub↗

    This project is a translated Go language style guide and programming standard. It provides a collection of coding standards and best practices designed to ensure that Go code remains maintainable, readable, and efficient. The guide focuses on idiomatic patterns for error handling, interface compliance, and memory optimization. It establishes standards for package naming and the use of functional options to maintain backward compatibility in constructors. It covers a broad range of capabilities, including concurrency management for coordinating process lifecycles and preventing resource leaks

    Defines synchronization mechanisms to coordinate the shutdown of shared concurrent resources.

    chinesecngo
    Voir sur GitHub↗8,172
  • louthy/language-extAvatar de louthy

    louthy/language-ext

    7,057Voir sur GitHub↗

    language-ext is a functional programming framework for C# that provides a suite of immutable data structures and monadic types. It enables the implementation of pure functional programming patterns, utilizing containers to manage side effects, optional values, and error handling. The library is distinguished by its advanced concurrency and state management tools, including a software transactional memory system and lock-free atomic references. It also provides specialized utilities for distributed systems, such as vector clocks for causality tracking and deterministic data conflict resolution

    Ensures resources are properly acquired and released using bracket patterns during failures or cancellations.

    C#
    Voir sur GitHub↗7,057
  • yuin/gopher-luaAvatar de yuin

    yuin/gopher-lua

    6,933Voir sur GitHub↗

    Gopher-lua is a complete implementation of the Lua language and its standard libraries written natively in Go. It serves as an embedded scripting engine and virtual machine that allows Go applications to execute Lua scripts and exchange data between the host and the script environment. The project provides a bytecode compiler to transform source code into a binary format for faster execution. It enables deep integration between the two languages by allowing the registration of native Go functions to be called from scripts, and the invocation of script functions directly from Go. The engine c

    Provides mechanisms to terminate running Lua scripts using Go context signals for timeout and lifecycle management.

    Gogogopher-lualua
    Voir sur GitHub↗6,933
  • go-xorm/xormAvatar de go-xorm

    go-xorm/xorm

    6,628Voir sur GitHub↗

    xorm is a relational mapper and object-relational mapping tool for Go. It translates Go structures into SQL queries and maps database rows back into native objects, providing a multi-dialect database driver that supports MySQL, PostgreSQL, SQLite, Oracle, SQL Server, and TiDB. The project features a read-write splitting manager that routes modification requests to a primary database and read requests to replicas. It includes a database schema synchronizer to automatically align table structures and indexes with application data models, as well as a fluent SQL query builder for constructing co

    Controls database request lifecycles using contexts to implement timeouts and query cancellation.

    Gogolangmssqlmysql
    Voir sur GitHub↗6,628
  • arrow-kt/arrowAvatar de arrow-kt

    arrow-kt/arrow

    6,558Voir sur GitHub↗

    Arrow is a functional programming library for Kotlin that provides tools for implementing data-oriented programming patterns. It serves as a framework for typed error handling, a concurrency toolkit, and a library for the manipulation of immutable data. The project distinguishes itself through specialized capabilities for managing application failures using explicit types instead of exceptions and implementing resilience patterns such as circuit breakers and retry policies for distributed services. It also provides optics to update and query deeply nested immutable data structures without man

    Tracks the acquisition and release of external resources across asynchronous boundaries.

    Kotlinarrowcontinuationscoroutines
    Voir sur GitHub↗6,558
  • loopbackio/loopback-nextAvatar de loopbackio

    loopbackio/loopback-next

    5,095Voir sur GitHub↗

    LoopBack Next est un framework d'API Node.js utilisé pour construire des API REST et multi-protocoles. Il fonctionne comme une implémentation de serveur OpenAPI capable soit de générer des spécifications lisibles par machine à partir du code, soit de produire des contrôleurs et des modèles d'implémentation à partir de spécifications existantes. Le framework se distingue par un conteneur d'injection de dépendances central et une couche d'accès aux données basée sur le pattern repository. Cette architecture découple la logique applicative de la construction des composants et du stockage persistant, permettant un système enfichable où les sources de données et la logique métier sont isolées via un système de connecteurs standardisé. Le projet couvre un large éventail de capacités, incluant le contrôle d'accès basé sur les rôles avec des stratégies d'authentification enfichables et l'orchestration de services REST et SOAP externes. Il fournit également des outils pour la communication en temps réel via des endpoints WebSocket, la validation de schémas JSON, et l'échafaudage automatique de projets via une interface en ligne de commande. Le développement est soutenu par un ensemble d'outils CLI pour amorcer les applications, générer des composants d'API et gérer les dépendances du projet.

    Manages the initialization and shutdown sequences for shared external resources and singletons.

    TypeScript
    Voir sur GitHub↗5,095
  • ets-labs/python-dependency-injectorAvatar de ets-labs

    ets-labs/python-dependency-injector

    4,805Voir sur GitHub↗

    This is a dependency injection framework and inversion of control container for Python. It decouples object creation from business logic by managing how services and their dependencies are assembled, delivered, and linked within an application. The framework is distinguished by its ability to perform automated component wiring, using import hooks and decorators to inject dependencies into functions and classes across different modules. It supports non-blocking flows through an asynchronous dependency resolver and manages the initialization and shutdown sequences of shared external resources a

    Handles the initialization and shutdown of shared components using functions, context managers, or asynchronous initializers.

    Pythonaiohttpasynciodependency-injection
    Voir sur GitHub↗4,805
  • magefile/mageAvatar de magefile

    magefile/mage

    4,666Voir sur GitHub↗

    Mage est un outil d'automatisation de build et un orchestrateur de workflow qui utilise des fonctions Go pour définir des cibles de build exécutables au lieu d'un langage spécifique au domaine (DSL). Il fonctionne comme un système de build compilé et un exécuteur de tâches, mappant les fonctions Go exportées vers des cibles en ligne de commande. L'outil se distingue en compilant les définitions de build en binaires statiques pour une distribution sur des machines sans dépendances. Il utilise le cache binaire haché pour éviter les compilations redondantes et prend en charge l'empaquetage du runtime et des tâches définies dans un seul exécutable autonome. La plateforme couvre la gestion des dépendances via des arbres de dépendances de tâches et des comparaisons d'horodatage de fichiers pour garantir que les cibles sont mises à jour dans le bon ordre. Elle fournit une interface en ligne de commande proposant le namespace de cibles, l'autocomplétion shell et la génération automatique d'aide dérivée des commentaires de fonction via réflexion. Le contrôle d'exécution inclut le support pour le traitement de tâches parallèle et série, ainsi que l'annulation avec gestion de timeout. Le système s'intègre avec les modules Go et permet l'inclusion de bibliothèques externes pour étendre les capacités des cibles de build.

    Passes timeout-aware contexts through the execution chain to allow graceful termination of long-running build processes.

    Gobuildscriptgogolang
    Voir sur GitHub↗4,666
  • zio/zioAvatar de zio

    zio/zio

    4,347Voir sur GitHub↗

    ZIO is a functional effect system for the JVM that models asynchronous and concurrent programs as pure, composable values with typed error handling and dependency injection. Its core identity is built on fiber-based concurrency, where lightweight, non-blocking fibers execute millions of concurrent tasks with structured lifecycle management, and a dual-channel error model that separates expected business failures from unexpected system defects at compile time. The system provides effect-typed dependency injection through a layer-based dependency graph, pull-based reactive stream processing with

    Automatically cancels fibers whose results are no longer needed, preventing resource leaks.

    Scalaasynchronicityasynchronousasynchronous-programming
    Voir sur GitHub↗4,347
  • jeffijoe/awilixAvatar de jeffijoe

    jeffijoe/awilix

    4,088Voir sur GitHub↗

    Awilix is a JavaScript dependency injection framework and inversion of control container. It provides a centralized system for registering and resolving services, decoupling application components by automating how dependencies are created and passed to the functions or classes that require them. The framework features an automatic module loader that scans the filesystem using glob patterns to register dependencies based on filenames and exports. It supports parameter-name-based injection and proxy-based resolution to manage how dependencies are delivered to constructors and functions. The s

    Tracks instantiated dependencies and executes cleanup functions when a scope is destroyed.

    TypeScriptawilixdependency-injectionioc
    Voir sur GitHub↗4,088
  • jeffail/tunnyAvatar de Jeffail

    Jeffail/tunny

    4,033Voir sur GitHub↗

    Tunny est une bibliothèque de pool de travailleurs (worker pool) et un gestionnaire de concurrence pour Go. Il fonctionne comme un planificateur de tâches concurrent qui limite le nombre de travailleurs parallèles traitant les travaux pour éviter l'épuisement des ressources système. Le projet permet le maintien d'un état persistant au sein des routines de travail individuelles pour éviter les coûts d'initialisation répétés. Il prend également en charge la mise à l'échelle dynamique des travailleurs, permettant d'ajuster le nombre de travailleurs en arrière-plan actifs en temps réel sans interrompre les tâches en cours. La bibliothèque fournit des mécanismes pour l'application de délais d'expiration (timeout) des tâches et la gestion du cycle de vie des travailleurs, y compris l'arrêt gracieux des pools de routines. Elle utilise la limitation de la concurrence pour restreindre le nombre total de goroutines actives.

    Uses Go contexts to propagate cancellation signals and enforce timeouts for running worker routines.

    Gogogolanggoroutine-pool
    Voir sur GitHub↗4,033
  • 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,

    Implements the ability to terminate retry loops immediately based on Go context signals.

    Gogolang
    Voir sur GitHub↗4,021
  • cshum/imagorAvatar de cshum

    cshum/imagor

    3,965Voir sur GitHub↗

    Imagor est un serveur de traitement d'image haute performance et une bibliothèque Go qui fonctionne comme un proxy d'image à la demande. Il fournit une API de transformation sécurisée pour redimensionner, filtrer et optimiser les images, ainsi qu'un outil pour générer des vignettes statiques à partir de fichiers vidéo. Le système se distingue par l'utilisation d'un moteur de traitement à la demande pour gérer les grandes images sans charger des fichiers entiers en mémoire. Il propose une signature de requête cryptographique pour empêcher la falsification d'URL et utilise la négociation de format basée sur les en-têtes pour servir automatiquement le format d'image le plus efficace supporté par le navigateur du client. Le projet couvre un large éventail de capacités, incluant la détection de zone d'intérêt, l'ajout de filigranes et des backends de stockage enfichables. Il gère également les cycles de vie des ressources via le streaming de données concurrent et fournit des mesures de sécurité telles que l'assainissement des chemins d'entrée pour prévenir les attaques XSS. Le serveur inclut une interface HTML pour le rendu de pages d'accueil et de formulaires d'upload.

    Uses derived contexts to ensure image processing completes even if the original HTTP request is cancelled.

    Go
    Voir sur GitHub↗3,965
  • thomhurst/tunitAvatar de thomhurst

    thomhurst/TUnit

    3,744Voir sur GitHub↗

    TUnit is a comprehensive C# testing framework, mocking library, and fluent assertion tool. It utilizes source generation for test discovery and mock creation, ensuring compatibility with Native AOT and IL trimming by eliminating the need for runtime reflection and proxies. The framework provides specialized capabilities for integration testing, including the management of distributed application lifecycles, isolated database schemas, and the correlation of telemetry and logs across process boundaries via OTLP. It also includes an HTTP testing utility to intercept network exchanges and mock AP

    Injects expensive resources into tests with automatic lifecycle management and cross-class sharing.

    C#csharpdotnettest
    Voir sur GitHub↗3,744
  • fairwindsops/goldilocksAvatar de FairwindsOps

    FairwindsOps/goldilocks

    3,144Voir sur GitHub↗

    Goldilocks is a suite of tools for analyzing resource usage and managing autoscaling policies in Kubernetes. It functions as a resource optimizer and capacity planner, providing a dashboard and command line interface to analyze workload utilization patterns and suggest efficient CPU and memory requests and limits for containers. The project distinguishes itself by visualizing recommendations from the Vertical Pod Autoscaler via a web interface and providing a lifecycle manager to create and configure these autoscaler objects. It includes capabilities to aggregate resource recommendations acro

    Manages the lifecycle of Vertical Pod Autoscaler objects through the cluster API.

    Gofairwinds-officialkubernetesreporting
    Voir sur GitHub↗3,144
  1. Home
  2. Software Engineering & Architecture
  3. RPC Cancellation
  4. Asynchronous Operation Cancellation
  5. Context-Aware Cancellation

Explorer les sous-tags

  • Cancellation DetachmentCreating execution contexts that outlive their parent request to ensure processing completion. **Distinct from Context-Aware Cancellation:** Focuses on detaching from cancellation signals rather than implementing the cancellation itself.
  • Context DetachmentMechanisms to decouple a processing task from its initiating request context to ensure completion despite client cancellation. **Distinct from Context-Aware Cancellation:** Focuses on preventing premature termination of background work rather than terminating long-running operations via timeouts.
  • Database Query CancellationMechanisms for terminating database requests using context signals and timeouts. **Distinct from Context-Aware Cancellation:** Focuses specifically on the cancellation of SQL queries via Go contexts, distinct from general RPC cancellation.
  • Database Query CancellationsMechanisms for terminating active database queries using context signals. **Distinct from Context-Aware Cancellation:** Specific to database query termination rather than general asynchronous operation cancellation.
  • Resource Lifecycle Managers3 sous-tagsSystems for tracking the acquisition and release of external resources across asynchronous boundaries. **Distinct from Context-Aware Cancellation:** Focuses on full resource lifecycle (acquire/release) rather than just operation cancellation.