22 repositorios
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.
Este proyecto es un servicio de incrustación BERT de alto rendimiento y servidor de inferencia diseñado para mapear secuencias de texto en vectores numéricos de longitud fija. Funciona como un microservicio de aprendizaje automático y servidor de modelos distribuido que desacopla el manejo de solicitudes de la computación pesada. El sistema utiliza una infraestructura de mensajería ZeroMQ para proporcionar comunicación de baja latencia entre clientes distribuidos y el servidor de inferencia. Incorpora procesamiento por lotes del lado del servidor y escalado de carga de trabajo de GPU para maximizar la utilización del hardware y gestionar grandes volúmenes de solicitudes. La plataforma admite infraestructura de búsqueda semántica generando incrustaciones intermodales tanto para texto como para imágenes dentro de un espacio vectorial compartido. Esto permite la búsqueda intermodal, la clasificación de relevancia de contenido y la re-clasificación de resultados basada en la alineación semántica entre el contenido visual y las descripciones de texto. El servicio se puede implementar como un microservicio elástico accesible a través de protocolos gRPC, HTTP o WebSocket, con streaming dúplex sin bloqueo para manejar grandes conjuntos de datos.
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 es un framework funcional para construir aplicaciones de una sola página (SPA) en ClojureScript. Proporciona una base de datos centralizada e inmutable que sirve como única fuente de verdad para todo el estado de la aplicación, aplicando un flujo de datos unidireccional estricto donde los eventos activan transiciones de estado y actualizaciones de vista posteriores. El framework se distingue por un grafo de señales reactivas y un pipeline de middleware basado en interceptores. Al tratar la lógica de la aplicación como una secuencia de eventos basados en datos y efectos secundarios declarativos, desacopla la lógica de negocio de la capa de vista. Esta arquitectura permite a los desarrolladores gestionar transiciones de estado complejas y operaciones externas mediante funciones puras, asegurando que los efectos secundarios sean ejecutados por un intérprete separado en lugar de llamadas imperativas. El sistema incluye un conjunto completo de capacidades para gestionar la arquitectura de la aplicación, incluyendo la derivación de datos reactivos, la reconciliación de vistas basada en suscripciones y la gestión de estado impulsada por eventos. Admite flujos de trabajo de desarrollo avanzados como el rastreo de eventos, puntos de control de estado y la capacidad de crear stubs de efectos secundarios para pruebas aisladas. El proyecto está diseñado para integrarse con React, utilizando la reconciliación del DOM virtual para actualizar eficientemente las interfaces de usuario. Proporciona un conjunto robusto de utilidades para manejar preocupaciones transversales, gestionar grafos de flujo de datos complejos y coordinar operaciones asíncronas dentro de un pipeline de eventos secuencial y predecible.
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 es un framework web de alto rendimiento para .NET diseñado para construir APIs con seguridad de tipos utilizando objetos de solicitud y respuesta fuertemente tipados. Funciona como un motor de API basado en mensajes que desacopla la lógica de negocio de la capa de transporte, permitiendo que los servicios se expongan a través de múltiples protocolos, incluyendo HTTP, gRPC y varios proveedores de colas de mensajes. El framework se distingue por su generador de API con seguridad de tipos, que produce SDKs de cliente nativos y objetos de transferencia de datos (DTOs) a partir de metadatos de servicio en múltiples lenguajes. También incluye un gateway de servicios distribuidos para la orquestación de microservicios, un ORM code-first para traducir objetos C# directamente a registros de base de datos y un sistema centralizado de gestión de identidad y acceso para un acceso seguro basado en tokens. Su superficie de capacidades más amplia cubre la mensajería asíncrona y el streaming de eventos en tiempo real mediante Pub-Sub y Server-Sent Events. Proporciona un soporte integral de serialización de datos para formatos como JSON, XML, ProtoBuf y MessagePack, junto con flujos de autenticación integrados que incluyen JWT, claves API y autenticación de paso a paso. Herramientas adicionales incluyen la generación automatizada de API CRUD, ejecución de trabajos en segundo plano y plantillas de dashboard administrativo.
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 es una biblioteca de comunicación de alto rendimiento y un framework de computación distribuida en GPU diseñado para ejecutar intercambios de datos colectivos y punto a punto a través de múltiples GPUs en sistemas de uno o varios nodos. Sirve como capa de transporte RDMA para GPU y orquestador de memoria, facilitando la sincronización de gran ancho de banda de datos y gradientes de modelos para el entrenamiento e inferencia distribuida en GPU. La biblioteca se distingue por su capacidad para ejecutar primitivas de comunicación directamente desde kernels de GPU, eliminando la CPU anfitriona del camino crítico. Utiliza la selección de rutas consciente de la topología para optimizar el movimiento de datos y emplea transporte de red basado en RDMA, incluyendo InfiniBand y NVLink, para permitir el acceso a memoria de copia cero entre dispositivos a través de diferentes nodos físicos. El proyecto cubre una amplia gama de patrones de comunicación colectiva, incluyendo reducciones, broadcasts, gathers e intercambios all-to-all, junto con acceso remoto a memoria punto a punto. Proporciona una gestión integral de comunicadores para inicializar, particionar y redimensionar grupos de GPU, así como una gestión de memoria especializada para registrar buffers y coordinar memoria compartida de dispositivo. El sistema incluye un conjunto de herramientas de monitoreo y observabilidad para el seguimiento de la salud, registro de diagnósticos y monitoreo de eventos en tiempo real, así como interfaces de integración para frameworks de aprendizaje automático, CUDA graphs, MPI y Python.
Implements non-blocking thread behavior to allow multiple threads to manage data exchanges independently without freezing execution.
Amp es un framework de concurrencia no bloqueante para PHP. Proporciona una infraestructura central para escribir aplicaciones asíncronas utilizando un bucle de eventos para programar operaciones, temporizadores y señales dentro de un solo proceso. El proyecto implementa una librería de corrutinas que utiliza fibras para suspender y reanudar la ejecución de funciones. Esto permite al sistema manejar tareas concurrentes sin bloquear el hilo de ejecución principal, optimizando el uso de CPU durante operaciones de entrada y salida. Además, gestiona los resultados de operaciones pendientes a través de una implementación de futuros y promesas. El framework cubre una amplia gama de capacidades de coordinación, incluyendo multiplexación de E/S no bloqueante, cancelación de tareas basada en tokens para abortar operaciones de larga duración y estrategias para esperar la finalización de múltiples tareas concurrentes. También incluye mecanismos para la programación de tareas recurrentes y pausas de ejecución.
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.