12 repositorios
Libraries for managing asynchronous background tasks and job queues.
Explore 12 awesome GitHub repositories matching part of an awesome list · Task Queues. Refine with filters or upvote what's useful.
gbrain is an agent framework and retrieval-augmented generation system that combines a durable task queue, a git-synced vector store, and a knowledge graph engine. It provides a foundation for building AI agents that interact with structured knowledge bases using the Model Context Protocol. The system synchronizes markdown files from a git repository into a database for high-performance semantic retrieval and creates typed edges between data pages by extracting entity references and wikilinks. It uses a database-backed queue to execute persistent background jobs and tool loops, ensuring relia
Provides a persistent background job processor that executes tool loops and shell commands to prevent data loss.
ThreadPool is a C++ thread management library designed to execute asynchronous tasks using a fixed number of background worker threads. It functions as a concurrent task executor that reduces the overhead associated with the repeated creation and destruction of threads. The library utilizes a synchronized queue to distribute workloads across multiple CPU cores and employs variadic templates to accept any callable function with arbitrary arguments. The system manages concurrency through mutex-protected shared state and condition-variable signaling to wake idle threads. It also provides a mech
Implements a synchronized queue to distribute pending functions to worker threads in the order they were received.
This project is a PHP implementation of the Promises/A+ specification, providing a library for managing asynchronous operations and deferred values. It serves as an asynchronous task coordinator that allows for the creation of non-blocking code through a promise-based pattern. The library enables the simulation of asynchronous coroutines, allowing non-blocking code to be written in a linear style. It features duck-typed interoperability, which allows it to integrate with any foreign object that implements a then method regardless of class inheritance. The project covers broader capabilities
Processes a global queue of pending operations to maintain constant stack size while integrating with the event loop.
.. image:: https://media.charlesleifer.com/blog/photos/huey3-logo.png
Lightweight multi-threaded task queue.
OpenDroneMap (ODM) is an open-source aerial drone photogrammetry pipeline that converts 2D images into georeferenced 3D models, orthophotos, point clouds, and digital elevation maps. At its core, the OpenDroneMap Processing Engine orchestrates a complete Structure-from-Motion workflow, from feature extraction through dense reconstruction and tiled output generation, purpose-built for transforming drone-captured imagery into geospatial data products. The toolkit distinguishes itself through GPU-accelerated SIFT feature extraction using CUDA-capable NVIDIA graphics cards, roughly doubling proce
Exposes processing jobs through a RESTful HTTP interface that queues tasks and returns results asynchronously.
Rivet es una infraestructura distribuida para gestionar el ciclo de vida, direccionamiento y persistencia de actores con estado y motores de ejecución duraderos. Proporciona un sandbox de procesos distribuido que ejecuta la lógica de la aplicación dentro de aislados ligeros, asegurando el aislamiento de recursos y arranques en frío rápidos. El sistema está diseñado para coordinar operaciones de varios pasos utilizando colas persistentes y temporizadores para garantizar la finalización fiable de tareas en entornos distribuidos. La plataforma permite específicamente la orquestación de agentes de IA con estado que mantienen memoria y estado persistentes a través de interacciones de larga duración y flujos de trabajo complejos. Se distingue por un framework de sincronización de estado mediante WebSocket que vincula los componentes de la interfaz de usuario frontend con procesos remotos con estado a través de comunicación bidireccional en tiempo real. El sistema cubre una amplia gama de capacidades, incluyendo direccionamiento jerárquico de actores, un runtime de hibernación en reposo para la optimización de recursos y una capa de persistencia conectable para backends de almacenamiento modulares. También incluye herramientas para la depuración de sesiones activas, monitoreo del estado de ejecución en tiempo real y opciones de despliegue automatizado para infraestructura edge, cloud o privada. El proyecto está implementado en Rust y admite el desarrollo de actores en múltiples lenguajes.
Uses persistent queues to process asynchronous messages reliably, guaranteeing task completion and recovery.
Dramatiq is a distributed task queue and workload manager used to offload function execution to background workers. It functions as an asynchronous task orchestrator that enables the distribution of computational tasks across a cluster using a pluggable transport layer supporting RabbitMQ and Redis. The framework provides specialized tools for complex task orchestration, including the ability to link background jobs into sequences, pipelines, and barriers. It further manages distributed concurrency through the use of shared mutexes, rate limiters, and exponential backoff retries to prevent re
Reliable background task processing for modern applications.
php-amqplib es una librería de PHP que implementa el protocolo AMQP para permitir la comunicación entre aplicaciones y brokers de mensajes. Proporciona las herramientas necesarias para integrar aplicaciones PHP con RabbitMQ para enviar y recibir mensajes a través de servicios desacoplados. La librería admite una amplia gama de patrones de mensajería, incluyendo procesamiento de tareas asíncronas, arquitecturas basadas en eventos y llamadas a procedimientos remotos utilizando identificadores de correlación. Gestiona el ciclo de vida completo del mensaje a través de publicación, declaración de colas y modelos de consumo flexibles utilizando suscripciones basadas en push o polling basado en pull. El proyecto cubre la gestión de enrutamiento y topología mediante enlaces de intercambio y proporciona características de fiabilidad como colas duraderas, publicación persistente y reconocimientos de mensajes explícitos. También incluye capacidades de gestión de tráfico como limitación de prefetch de mensajes y multiplexación de canales virtuales para optimizar el uso de recursos. La estabilidad de la conexión se maneja mediante soporte multi-host y gestión de latidos (heartbeats) basada en señales.
Provides the ability to create durable and exclusive queues that survive broker restarts.
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.
Provides a JavaScript promise queue for managing asynchronous tasks with strict concurrency limits.
Uploader is a client-side library designed to manage asynchronous file transfers within web applications. It provides a comprehensive suite of tools for handling the entire upload lifecycle, including file selection, validation, transmission, and monitoring. The library distinguishes itself through its integration of drag-and-drop interfaces and structured queue management. It allows developers to organize multiple files into queues for sequential or parallel processing while maintaining programmatic control to start, pause, cancel, or reset individual transfer sessions. Beyond core transfer
Maintains an internal list of pending files to manage the sequence and concurrency of upload operations.
Mr. Queue - A distributed worker task queue in Python using Redis & gevent
Distributed worker queue using Redis and gevent.
A simple, infinitely scalable, SQS based queue.
Scalable queue based on cloud messaging services.