22 dépôts
Client-server patterns for initiating, monitoring, and completing extended operations with periodic feedback and cancellation.
Distinct from Client-Server Architecture: Distinct from Client-Server Architecture: focuses on long-running goal-based tasks with feedback and cancellation, not general state management.
Explore 22 awesome GitHub repositories matching software engineering & architecture · Long-Running Task Protocols. Refine with filters or upvote what's useful.
Hystrix is a latency and fault tolerance library designed to prevent cascading failures in distributed systems. It functions as a circuit breaker implementation that monitors failure thresholds and opens circuits to isolate remote calls when downstream services degrade. The project distinguishes itself by providing multiple isolation mechanisms, utilizing dedicated thread pools and semaphores to ensure that latency in one dependency does not saturate the entire system. It also features a request collapsing and batching engine that groups concurrent calls into single executions to reduce the t
Implements non-blocking execution patterns to handle long tasks without freezing the main execution thread.
Ce projet est un service d'intégration BERT haute performance et un serveur d'inférence conçu pour mapper des séquences de texte en vecteurs numériques de longueur fixe. Il fonctionne comme un microservice d'apprentissage automatique et un serveur de modèle distribué qui découple la gestion des requêtes du calcul lourd. Le système utilise une infrastructure de messagerie ZeroMQ pour fournir une communication à faible latence entre les clients distribués et le serveur d'inférence. Il incorpore le traitement par lots côté serveur et la mise à l'échelle de la charge de travail GPU pour maximiser l'utilisation du matériel et gérer des volumes de requêtes élevés. La plateforme prend en charge l'infrastructure de recherche sémantique en générant des intégrations transmodales pour le texte et les images au sein d'un espace vectoriel partagé. Cela permet la recherche transmodale, le classement de la pertinence du contenu et le reclassement des résultats basés sur l'alignement sémantique entre le contenu visuel et les descriptions textuelles. Le service peut être déployé en tant que microservice élastique accessible via les protocoles gRPC, HTTP ou WebSocket, avec un streaming duplex non bloquant pour gérer de grands ensembles de données.
Features non-blocking duplex streaming for requests and responses to handle large datasets efficiently.
co is a JavaScript generator control flow library and non-blocking workflow engine. It manages asynchronous logic by using generators and promises to simulate a synchronous coding style. The project transforms generator functions into standard functions that return promises, ensuring compatibility with non-generator interfaces. It also functions as a promise-based asynchronous orchestrator that executes multiple operations concurrently through the recursive resolution of nested promise collections. The library provides high-level primitives for asynchronous flow control and non-blocking work
Implements non-blocking execution patterns to manage complex sequences of asynchronous events without freezing the thread.
This project is a front-end interview study guide and a collection of structured notes designed for technical job preparation. It serves as a comprehensive reference for web technologies, common technical interview questions, and JavaScript algorithm implementation. The notebook distinguishes itself by integrating specialized guides for web performance optimization, browser API documentation, and JavaScript algorithm references. It provides a structured approach to solving coding challenges involving data structures like binary trees, linked lists, and array manipulation. The content covers
Covers the use of promises and callbacks to execute non-blocking asynchronous tasks in the browser.
Genkit is an open-source framework for building AI-powered applications. It provides a unified interface for connecting to hundreds of generative AI models from multiple providers, enabling text, image, audio, and video generation through a single API. The framework structures multi-step AI interactions—including chat, retrieval-augmented generation, tool use, and agentic workflows—as composable, traceable flows with built-in streaming and state management. The framework distinguishes itself through a comprehensive developer toolkit that includes a command-line interface and a local developer
Sends partial results from AI workflows to the client as they are generated for improved responsiveness.
re-frame est un framework fonctionnel pour construire des applications monopages (SPA) en ClojureScript. Il fournit une base de données centralisée et immuable qui sert de source unique de vérité pour l'état global de l'application, imposant un flux de données unidirectionnel strict où les événements déclenchent des transitions d'état et des mises à jour de vue. Le framework se distingue par un graphe de signaux réactifs et un pipeline de middleware basé sur des intercepteurs. En traitant la logique applicative comme une séquence d'événements pilotés par les données et d'effets de bord déclaratifs, il découple la logique métier de la couche de vue. Cette architecture permet aux développeurs de gérer des transitions d'état complexes et des opérations externes via des fonctions pures, garantissant que les effets de bord sont exécutés par un interpréteur séparé plutôt que par des appels impératifs. Le système inclut une suite complète de capacités pour gérer l'architecture applicative, notamment la dérivation de données réactives, la réconciliation de vue basée sur les abonnements et la gestion d'état pilotée par les événements. Il prend en charge des flux de développement avancés tels que le traçage d'événements, la mise en point d'état et la possibilité de simuler (stub) des effets de bord pour des tests isolés. Le projet est conçu pour une intégration avec React, utilisant la réconciliation du DOM virtuel pour mettre à jour efficacement les interfaces utilisateur. Il fournit un ensemble robuste d'utilitaires pour gérer les préoccupations transversales, les graphes de flux de données complexes et coordonner les opérations asynchrones au sein d'un pipeline d'événements séquentiel et prévisible.
Breaks CPU-intensive work into small chunks that yield control back to the browser.
Inngest is a durable execution framework and event-driven automation engine designed to orchestrate background workflows. It enables developers to build resilient, stateful processes by memoizing function steps, ensuring that long-running tasks can automatically resume from the last successful operation after failures, timeouts, or infrastructure restarts. The platform distinguishes itself through its event-driven architecture, which uses a schema-validated bus to trigger functions and coordinate complex, multi-step logic. It employs an onion-model middleware approach for cross-cutting concer
Provides protocols for interacting with and controlling long-running background tasks through event-based inputs.
ServiceStack est un framework web .NET haute performance conçu pour construire des API typées en utilisant des objets de requête et de réponse fortement typés. Il fonctionne comme un moteur d'API basé sur les messages qui découple la logique métier de la couche de transport, permettant aux services d'être exposés via plusieurs protocoles incluant HTTP, gRPC et divers fournisseurs de files d'attente de messages. Le framework se distingue par son générateur d'API typé, qui produit des SDK clients natifs et des objets de transfert de données (DTO) à partir des métadonnées de service dans plusieurs langages. Il inclut également une passerelle de service distribuée pour l'orchestration de microservices, un ORM code-first pour traduire directement les objets C# en enregistrements de base de données, et un système centralisé de gestion des identités et des accès pour un accès sécurisé basé sur des jetons. Sa surface de capacités plus large couvre la messagerie asynchrone et le streaming d'événements en temps réel via Pub-Sub et Server-Sent Events. Il fournit une prise en charge complète de la sérialisation des données pour des formats tels que JSON, XML, ProtoBuf et MessagePack, aux côtés de flux d'authentification intégrés incluant JWT, clés API et authentification step-up. L'outillage supplémentaire inclut la génération automatisée d'API CRUD, l'exécution de tâches en arrière-plan et des modèles de tableau de bord administratif.
Allows external web service requests to terminate active, long-running server-side operations.
ROS 2 is a distributed communication middleware for robot systems, built on a peer-to-peer Data Distribution Service (DDS) foundation. It provides a publish-subscribe messaging layer where typed data flows between decoupled components across a network, along with synchronous remote procedure calls and action-based task execution for long-running goals with periodic feedback. The framework includes an interface definition language that generates type-safe code for messages, services, and actions, ensuring cross-language compatibility, and supports fine-grained Quality of Service profiles that c
Provides a client-server protocol for long-running robot tasks with periodic feedback and cancellation.
NCCL est une bibliothèque de communication haute performance et un framework de calcul GPU distribué conçu pour exécuter des échanges de données collectifs et point à point sur plusieurs GPU dans des systèmes à un ou plusieurs nœuds. Il sert de couche de transport GPU RDMA et d'orchestrateur de mémoire, facilitant la synchronisation à large bande passante des données et des gradients de modèle pour l'entraînement et l'inférence GPU distribués. La bibliothèque se distingue par sa capacité à exécuter des primitives de communication directement depuis les noyaux (kernels) GPU, supprimant le CPU hôte du chemin critique. Elle utilise une sélection de chemin consciente de la topologie pour optimiser le mouvement des données et emploie un transport réseau basé sur RDMA, incluant InfiniBand et NVLink, pour permettre un accès mémoire zéro-copie entre les appareils sur différents nœuds physiques. Le projet couvre un large éventail de modèles de communication collective, notamment les réductions, les diffusions (broadcasts), les rassemblements (gathers) et les échanges tous-à-tous, ainsi que l'accès mémoire distant point à point. Il fournit une gestion complète des communicateurs pour initialiser, partitionner et redimensionner les groupes GPU, ainsi qu'une gestion spécialisée de la mémoire pour enregistrer les tampons (buffers) et coordonner la mémoire partagée des appareils. Le système inclut une suite d'outils de surveillance et d'observabilité pour le suivi de la santé, la journalisation diagnostique et la surveillance des événements en temps réel, ainsi que des interfaces d'intégration pour les frameworks de machine learning, les graphes CUDA, MPI et Python.
Implements non-blocking thread behavior to allow multiple threads to manage data exchanges independently without freezing execution.
Amp is a non-blocking concurrency framework for PHP. It provides a core infrastructure for writing asynchronous applications using an event loop to schedule operations, timers, and signals within a single process. The project implements a coroutine library that utilizes fibers to suspend and resume function execution. This allows the system to handle concurrent tasks without blocking the main execution thread, optimizing CPU usage during input and output operations. It further manages pending operation results through a future and promise implementation. The framework covers a broad range of
Pauses a specific execution flow for a set duration while allowing other concurrent operations to continue.
XcodeBuildMCP is a Model Context Protocol server and development tool bridge that provides AI agents with the ability to control xcodebuild, manage simulators, and automate the compilation and execution of Apple platform applications. It functions as a persistent daemon that proxies native IDE build and debug capabilities to external clients and agents. The project distinguishes itself by using the Model Context Protocol to expose build and device management tools through a standardized interface. It implements specialized skill priming and instruction configuration to ensure AI agents can in
Streams progress and subprocess output continuously during long-running build and test tasks.
Kùzu is an embedded property graph database engine designed for high-performance analytical queries and local data management. It operates as a library within the host application process, utilizing a columnar-based storage architecture and just-in-time query compilation to execute complex graph traversals and pattern matching efficiently. By mapping database files directly into system memory, it ensures data durability and high-speed access while maintaining ACID-compliant transactional integrity. The engine distinguishes itself by integrating vector similarity search and full-text search di
Supports concurrent database operations using blocking or non-blocking interfaces.
Ballerina is a cloud-native programming language and distributed services framework designed for building and integrating networked services. It provides a network-aware runtime that manages non-blocking input and output operations to support scalable distributed systems. The platform features a visual programming environment that maintains bidirectional synchronization between source code and graphical sequence diagrams. It utilizes a structural type system to decouple independent software components and includes a cloud infrastructure generator that produces Docker and Kubernetes deployment
Features a network-aware runtime that manages concurrent requests and non-blocking asynchronous I/O operations.
bcrypt.js is a portable JavaScript implementation of the bcrypt algorithm used for securely hashing and verifying user passwords. It functions as a credential security utility that protects stored passwords against brute-force attacks through the use of salts and configurable work factors. The library is designed as a pure JavaScript cryptographic module, allowing it to run in any JavaScript environment, including both server-side Node.js and client-side web browsers, without requiring native system binaries or C++ bindings. It is a zero-dependency standalone module to minimize security risks
Provides asynchronous API paths to perform computationally expensive password hashing without blocking the JavaScript event loop.
EternalTerminal is a persistent SSH remote shell and secure remote terminal. It functions as a TCP connection manager that automatically restores shell sessions after network disconnects, ensuring a continuous connection between a client and server. The project enables the maintenance of a persistent remote shell, allowing users to resume active sessions and recover terminal states immediately after a network failure or manual reconnection. This ensures that long-running processes and scripts on a remote server continue executing even when the local client loses its connection. The system pr
Ensures that scripts and commands on a remote server continue executing even when the local client disconnects.
mosdns is a DNS forwarding server and traffic filter that routes DNS queries to multiple upstream providers. It functions as a rule-based DNS router and a proxy for DNS-over-HTTPS and DNS-over-TLS to ensure secure DNS resolution. The system utilizes a pipeline-based request processing model and rule-based query routing to direct specific domain queries to different upstream servers. It implements pluggable transport layers and forwarding protocols, including HTTPS, TLS, and QUIC, to encrypt traffic and prevent eavesdropping. The project includes capabilities for upstream load balancing to di
Provides concurrent query execution using asynchronous tasks to handle multiple DNS requests simultaneously.
This project provides a translation layer and set of adapters designed to bridge AI agents with the Model Context Protocol. It functions as an integration layer that allows agents to operate as protocol-compliant servers and enables the conversion of protocol-based tools into formats compatible with agent frameworks and logic graphs. The adapters facilitate tool interoperability by wrapping external protocol tools for use within agent workflows and exposing internal agent capabilities to any client implementing the Model Context Protocol. This creates a communication bridge that supports inte
Streams real-time output from active agent runs with support for resuming from specific event IDs.
Eloquent-JavaScript is a comprehensive JavaScript programming textbook and interactive coding tutorial designed for web development education. It serves as both a language reference and a practical guide, combining theoretical lessons with an environment where learners can execute and modify code examples. The project focuses on the fundamental principles of the JavaScript language, including lexical scoping, prototype-based inheritance, and asynchronous patterns. It provides detailed instruction on object-oriented programming, functional programming, and the use of the browser DOM to create
Explains how to run long-running actions in the background to keep the user interface responsive.
The AWS SDK for Java is a set of client libraries providing a programmatic interface for managing cloud resources and services through the Java language and JVM. It serves as a cloud service client library for executing synchronous and asynchronous API calls to infrastructure components. The library is distinguished by its use of non-blocking asynchronous I/O and a reactive cloud client model, utilizing publishers and subscribers to stream data and manage backpressure. It employs a modular design to decouple services and reduce binary size, while utilizing immutable builders for thread-safe c
Employs non-blocking asynchronous I/O to execute network requests without stalling application threads.