22 Repos
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.
Dieses Projekt ist ein BERT-Einbettungsdienst mit hoher Leistung und ein Inferenzserver, der darauf ausgelegt ist, Textsequenzen in numerische Vektoren fester Länge abzubilden. Es fungiert als Microservice für maschinelles Lernen und verteilter Modellserver, der die Anforderungsbehandlung von rechenintensiven Aufgaben entkoppelt. Das System nutzt eine ZeroMQ-Messaging-Infrastruktur, um eine Kommunikation mit geringer Latenz zwischen verteilten Clients und dem Inferenzserver bereitzustellen. Es integriert serverseitige Batch-Verarbeitung und GPU-Workload-Skalierung, um die Hardwareauslastung zu maximieren und hohe Anforderungsvolumina zu verwalten. Die Plattform unterstützt die Infrastruktur für semantische Suche durch die Generierung modalübergreifender Einbettungen für Text und Bilder innerhalb eines gemeinsamen Vektorraums. Dies ermöglicht modalübergreifende Suche, Relevanz-Ranking von Inhalten und das Re-Ranking von Ergebnissen basierend auf der semantischen Ausrichtung zwischen visuellem Inhalt und Textbeschreibungen. Der Dienst kann als elastischer Microservice bereitgestellt werden, der über gRPC-, HTTP- oder WebSocket-Protokolle zugänglich ist, und bietet nicht-blockierendes Duplex-Streaming für die Handhabung großer Datensätze.
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 ist ein funktionales Framework für den Bau von Single-Page-Anwendungen in ClojureScript. Es bietet eine zentralisierte, unveränderliche Datenbank, die als Single Source of Truth für den gesamten Anwendungszustand dient und einen strikten, unidirektionalen Datenfluss erzwingt, bei dem Events Zustandsübergänge und nachfolgende View-Updates auslösen. Das Framework zeichnet sich durch einen reaktiven Signal-Graphen und eine Interceptor-basierte Middleware-Pipeline aus. Indem Anwendungslogik als Sequenz datengetriebener Events und deklarativer Side-Effects behandelt wird, entkoppelt es die Geschäftslogik von der View-Schicht. Diese Architektur ermöglicht es Entwicklern, komplexe Zustandsübergänge und externe Operationen durch reine Funktionen zu verwalten, wobei sichergestellt wird, dass Side-Effects von einem separaten Interpreter statt durch imperative Aufrufe ausgeführt werden. Das System umfasst eine umfassende Suite an Funktionen für das Management der Anwendungsarchitektur, einschließlich reaktiver Datenableitung, abonnementbasierter View-Reconciliation und eventgesteuertem Zustandsmanagement. Es unterstützt fortgeschrittene Entwicklungs-Workflows wie Event-Tracing, State-Checkpointing und die Möglichkeit, Side-Effects für isolierte Tests zu stubben. Das Projekt ist für die Integration mit React konzipiert und nutzt Virtual-DOM-Reconciliation, um Benutzeroberflächen effizient zu aktualisieren. Es bietet ein robustes Set an Utilities für den Umgang mit Cross-Cutting Concerns, die Verwaltung komplexer Datenfluss-Graphen und die Koordination asynchroner Operationen innerhalb einer vorhersagbaren, sequenziellen Event-Pipeline.
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 ist ein hochperformantes .NET-Webframework für den Bau typsicherer APIs unter Verwendung stark typisierter Request- und Response-Objekte. Es fungiert als nachrichtenbasierte API-Engine, die Geschäftslogik von der Transportschicht entkoppelt, wodurch Services über mehrere Protokolle wie HTTP, gRPC und verschiedene Message-Queue-Provider bereitgestellt werden können. Das Framework zeichnet sich durch seinen typsicheren API-Generator aus, der native Client-SDKs und Data Transfer Objects (DTOs) aus Service-Metadaten über mehrere Sprachen hinweg produziert. Es enthält zudem ein verteiltes Service-Gateway für Microservices-Orchestration, ein Code-First-ORM zur direkten Übersetzung von C#-Objekten in Datenbankdatensätze sowie ein zentralisiertes Identitäts- und Zugriffsmanagementsystem für sicheren tokenbasierten Zugriff. Die breitere Funktionspalette deckt asynchrones Messaging und Echtzeit-Event-Streaming durch Pub-Sub und Server-Sent Events ab. Es bietet umfassende Unterstützung für Datenserialisierung in Formaten wie JSON, XML, ProtoBuf und MessagePack, neben integrierten Authentifizierungs-Flows wie JWT, API-Keys und Step-up-Authentifizierung. Zusätzliches Tooling umfasst automatisierte CRUD-API-Generierung, Hintergrund-Job-Ausführung und Vorlagen für administrative Dashboards.
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 ist eine Hochleistungs-Kommunikationsbibliothek und ein Framework für verteiltes GPU-Computing, das für die Ausführung kollektiver und Punkt-zu-Punkt-Datenaustausche über mehrere GPUs in Einzel- oder Multi-Node-Systemen entwickelt wurde. Es dient als RDMA-GPU-Transportschicht und Speicher-Orchestrator, der die hochbandbreitige Synchronisation von Daten und Modellgradienten für verteiltes GPU-Training und Inference erleichtert. Die Bibliothek zeichnet sich durch ihre Fähigkeit aus, Kommunikationsprimitive direkt aus GPU-Kernels auszuführen, wodurch die Host-CPU aus dem kritischen Pfad entfernt wird. Sie nutzt topologiebewusste Pfadauswahl zur Optimierung der Datenbewegung und verwendet RDMA-basierten Netzwerktransport, einschließlich InfiniBand und NVLink, um Zero-Copy-Speicherzugriffe zwischen Geräten über verschiedene physische Knoten hinweg zu ermöglichen. Das Projekt deckt eine breite Palette an kollektiven Kommunikationsmustern ab, darunter Reduktionen, Broadcasts, Gathers und All-to-All-Austausche, neben Punkt-zu-Punkt-Remote-Speicherzugriffen. Es bietet umfassendes Communicator-Management für die Initialisierung, Partitionierung und Größenanpassung von GPU-Gruppen sowie spezialisiertes Speichermanagement für das Registrieren von Buffern und das Koordinieren von gemeinsam genutztem Gerätespeicher. Das System enthält eine Suite von Monitoring- und Observability-Tools für Health-Tracking, diagnostisches Logging und Echtzeit-Ereignisüberwachung sowie Integrationsschnittstellen für Machine-Learning-Frameworks, CUDA-Graphs, MPI und Python.
Implements non-blocking thread behavior to allow multiple threads to manage data exchanges independently without freezing execution.
Amp ist ein nicht-blockierendes Concurrency-Framework für PHP. Es bietet eine Kerninfrastruktur für das Schreiben asynchroner Anwendungen unter Verwendung einer Event-Loop, um Operationen, Timer und Signale innerhalb eines einzelnen Prozesses zu planen. Das Projekt implementiert eine Coroutine-Bibliothek, die Fibers nutzt, um die Funktionsausführung anzuhalten und fortzusetzen. Dies ermöglicht es dem System, gleichzeitige Aufgaben zu verarbeiten, ohne den Hauptausführungs-Thread zu blockieren, was die CPU-Auslastung bei Ein- und Ausgabeoperationen optimiert. Es verwaltet zudem ausstehende Operationsergebnisse durch eine Future- und Promise-Implementierung. Das Framework deckt ein breites Spektrum an Koordinationsfähigkeiten ab, einschließlich nicht-blockierendem I/O-Multiplexing, Token-basierter Aufgabenstornierung zum Abbrechen lang laufender Operationen und Strategien zum Abwarten des Abschlusses mehrerer gleichzeitiger Aufgaben. Es enthält zudem Mechanismen für die Planung wiederkehrender Aufgaben und das Pausieren der Ausführung.
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.