7 repositorios
Restricting the number of concurrent processes accessing a specific shared resource.
Distinct from Shared Resource Synchronization: Focuses on limiting quantity/concurrency of access to prevent resource exhaustion, whereas synchronization focuses on race conditions.
Explore 7 awesome GitHub repositories matching software engineering & architecture · Concurrency Limiting. Refine with filters or upvote what's useful.
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
Coordinates execution limits across multiple functions or services by scoping them to shared account-level keys.
Buildbot es un framework de integración continua (CI) basado en Python y un orquestador de builds distribuido. Funciona como un motor de automatización de builds que coordina la obtención del código fuente, la ejecución de pasos de compilación y la generación de informes a través de un controlador central y una red de agentes trabajadores remotos. El sistema se distingue por su arquitectura de extensibilidad basada en plugins y un modelo de distribución maestro-trabajador. Permite la modificación dinámica de los builds en tiempo de ejecución y admite un backend de base de datos conectable para persistir el estado del sistema y el historial de builds. El proyecto cubre una amplia gama de capacidades, incluyendo la programación automatizada de builds y la orquestación de pipelines, integración con control de versiones mediante polling y webhooks, y el aprovisionamiento de trabajadores en servidores físicos, contenedores Docker y clusters de Kubernetes. También proporciona monitorización y observabilidad integral mediante el análisis de logs de build y seguimiento de rendimiento, junto con gestión segura de secretos y autenticación multi-proveedor. El control administrativo está disponible a través de una interfaz web dedicada y herramientas de línea de comandos para la validación de configuración y gestión de procesos.
Restricts the concurrent use of shared resources across build steps to prevent system exhaustion.
Este proyecto es un repositorio instructivo y recurso de aprendizaje que proporciona una colección completa de notas de estudio, guías de programación y ejemplos de código ejecutables. Sirve como guía para el desarrollo web y de Java SE, presentando una biblioteca de muestras de código que demuestran algoritmos comunes e implementaciones técnicas. El repositorio se centra en el análisis del núcleo y el tiempo de ejecución del lenguaje, con tutoriales detallados sobre multihilo y concurrencia. Proporciona implementaciones prácticas de arquitectura de software y patrones de diseño, como los patrones singleton y strategy, así como exploraciones de la Java Virtual Machine y el bytecode. El proyecto cubre una amplia gama de capacidades, incluyendo fundamentos del lenguaje como genéricos y anotaciones, conceptos básicos de desarrollo web que involucran el manejo de solicitudes HTTP y gestión de sesiones, y primitivas de concurrencia para el ciclo de vida de hilos y sincronización de recursos. También incluye utilidades para seguridad, procesamiento de datos y generación dinámica de páginas.
Regulates thread flow and synchronization to limit resource access and prevent resource exhaustion.
p-queue es una cola de promesas de JavaScript y un programador de tareas concurrentes diseñado para limitar el número de operaciones asíncronas activas. Sirve como un limitador de tasa asíncrono y gestor del ciclo de vida de promesas para prevenir el agotamiento de recursos. El proyecto se distingue por la programación de tareas basada en prioridades y la limitación de tasa de cubo de tokens (token-bucket) para controlar la frecuencia de ejecución. Se integra con señales de aborto para la cancelación de tareas y proporciona mecanismos para pausar, reanudar y borrar operaciones pendientes. La herramienta cubre capacidades más amplias de gestión de tráfico, incluyendo tiempos de espera de operaciones y limitación de concurrencia. También incluye primitivas de monitoreo para rastrear el estado de la cola y el conteo de tareas pendientes, así como sincronización para el estado de inactividad de la cola.
Restricts the number of concurrent asynchronous operations to prevent system resource exhaustion.
This project is a technical programming guide and educational resource focused on Go internals, runtime mechanisms, and advanced language features. It provides detailed conceptual analysis of the language's execution model, including its scheduler, memory escape analysis, and garbage collection mechanisms. The material distinguishes itself through deep dives into high-concurrency system design, exploring the implementation of worker pools and communication channels. It also covers low-level network programming with a focus on I/O multiplexing and TCP state management, alongside a study of dis
Demonstrates techniques for restricting active processes using buffered channels and worker pools.
AsyncEx is a .NET asynchronous synchronization library providing a collection of primitives to coordinate tasks and manage execution flow. It implements mechanisms for asynchronous resource locking, event signaling, and concurrency control to ensure correct execution order in environments supporting async/await. The library includes an asynchronous lock implementation to protect shared resources without blocking threads, an async semaphore controller to limit simultaneous operations, and an event signaling system to manage the startup and shutdown of asynchronous workflows. The toolkit cover
Restricts the number of concurrent asynchronous processes to prevent system resource exhaustion.
This project is a framework for building concurrent, event-driven applications in Ruby. It provides a core engine that orchestrates non-blocking input and output operations, allowing developers to handle high-volume network traffic and system tasks without the complexity of traditional callback-based programming. By leveraging lightweight fibers, the library enables cooperative multitasking that maintains responsiveness during heavy data processing workloads. The framework distinguishes itself through a structured concurrency model that organizes tasks into parent-child hierarchies. This appr
Restricts simultaneous operations to prevent resource exhaustion during high-volume processing.