23 Repos
Execution model where background workers continuously poll a storage backend for pending tasks.
Distinct from Remote Worker Execution: Distinct from remote invocation; focuses on the polling mechanism used by workers to discover pending work.
Explore 23 awesome GitHub repositories matching devops & infrastructure · Polling-Based Worker Execution. Refine with filters or upvote what's useful.
Bull is a Node.js library for managing distributed jobs and message queues using Redis as the primary data store. It functions as a distributed task worker, job scheduler, and priority queue manager designed to handle asynchronous workloads across multiple processes. The project distinguishes itself by providing a persistent communication channel that decouples servers through the exchange of serializable data objects. It ensures distributed system reliability by detecting stalled tasks and recovering from process crashes to ensure every queued job is completed. The system covers a broad ran
Employs a polling-based execution model where workers retrieve tasks using Redis lists and sorted sets.
Sidekiq is a Ruby background processing framework and asynchronous task runner. It functions as a Redis-backed background job processor that offloads heavy or time-consuming work from web requests to separate worker processes to ensure the main application remains responsive. The system operates as a Redis task queue, storing pending jobs in Redis to be processed concurrently by multiple threads. It provides a framework for distributed task queueing and asynchronous job scheduling to coordinate work across multiple server instances. The project covers Ruby application scaling by executing ba
Implements a polling mechanism using blocking Redis pops to efficiently fetch and process pending tasks.
Conductor is a distributed workflow manager and microservices orchestration engine. It coordinates long-running business processes across a network of services, using a stateful orchestration model to ensure consistent execution order and reliable state management. The system defines task sequences and conditional business logic using structured JSON configuration files. It manages the execution of complex operations across distributed systems with built-in persistence and failure recovery, tracking the progress of processes through a backend database. The platform provides capabilities for
Uses an execution model where workers continuously poll the server for pending tasks.
Hangfire is a background job scheduler and distributed task queue for .NET applications. It serves as a job orchestration framework that offloads heavy processing to background workers using a SQL-backed processor to manage job state across multiple servers. The framework distinguishes itself through reliable task scheduling, where job metadata and arguments are persisted in an external database to ensure tasks survive application restarts. It supports advanced orchestration patterns, including the ability to chain dependent tasks so that a child job triggers automatically upon the successful
Employs background workers that continuously monitor storage for pending tasks to execute on available threads.
Resque is a Ruby library for enqueueing and processing asynchronous tasks using Redis as a data store. It functions as a distributed task processor and queue manager, allowing long-running work to be moved out of the main request cycle. The system executes background jobs in isolated child processes to prevent memory leaks and provides a web-based dashboard for monitoring queue depths, worker activity, and failed job statistics. Capability areas include distributed worker coordination via signals, error handling with job retry mechanisms, and priority-ordered queue management. It also suppor
Implements a polling-based model where workers periodically check Redis queues for new tasks.
Cadence is a distributed workflow orchestration engine designed to execute long-running, asynchronous business logic with built-in durability and resilience across distributed systems. It functions as a stateful process manager that ensures processes resume from their last known state following system crashes or network outages. The platform utilizes a distributed task queue to manage work across independent worker nodes and supports persistence via SQL or Cassandra backend storage. It includes a workflow visualization dashboard for inspecting execution histories and state traces, alongside a
Employs a polling-based execution model where remote workers discover pending tasks from the orchestrator.
Vendure is a Node.js e-commerce engine and headless commerce framework built with NestJS and TypeScript. It serves as a multi-channel commerce platform that manages product catalogs, orders, and customers via a strongly typed GraphQL API. The platform is distinguished by its highly extensible architecture, featuring a customizable administrative dashboard where developers can inject custom React components and entity views. It supports multi-channel commerce, allowing the isolation of products, currencies, and regional catalogs from a single unified backend. The engine covers a broad range o
Runs asynchronous jobs in a dedicated worker process to keep the main server responsive.
GoCD is a continuous delivery server and build automation platform designed to orchestrate software delivery pipelines. It functions as a CD pipeline orchestrator that manages the automated execution of build, test, and deployment stages to move code from commit to production. The system utilizes an agent-based job execution model where remote agents pull work from a central server via polling. It employs a state-machine approach to pipeline orchestration, tracking the progression of software through stages and managing immutable build outputs via a central artifact repository to ensure consi
Utilizes a polling-based worker execution model to discover and claim pending tasks from the central server.
Mediasoup is a selective forwarding unit used for real-time media routing. It enables the development of low-latency audio and video communication systems by routing streams between participants without transcoding. The project provides embedded media routing logic that can be integrated directly into an application. It supports simulcast and quality layering, allowing the system to adapt resolution and bitrate based on real-time bandwidth estimations to maintain connection stability. The capability surface includes media track management for audio, video, and screen capture, as well as bidi
Implements native C++ worker processes to isolate heavy media processing from the main JavaScript event loop.
Storm is a distributed stream processing framework designed to execute unbounded computations across a cluster to process real-time data streams. It functions as a data pipeline orchestrator that allows users to define and deploy declarative data flow graphs connecting streaming sources to processing components. The system operates as a multi-tenant distributed compute engine that isolates workloads and limits resource usage across shared clusters using dedicated pools and access control. It is also a secure distributed processing engine that employs encrypted node communication and SSL-secur
Launches worker processes using the operating system identity of the submitting user to ensure correct permissioning.
Pinot is a distributed, columnar analytical database designed for high-concurrency, low-latency query processing. It functions as a real-time OLAP datastore, enabling interactive, user-facing analytics by ingesting and querying massive datasets from both streaming and batch sources. The system architecture relies on a centralized controller for cluster coordination and a distributed segment-based storage model to ensure horizontal scalability. The platform distinguishes itself through a hybrid ingestion pipeline that unifies real-time event streams and historical batch data into a single quer
Assigns specific data processing workloads to designated worker nodes to manage resource allocation and prevent interference.
Monty is a sandboxed execution environment designed primarily for running Python code generated by AI models. It provides a secure, isolated runtime that blocks host access, enforces resource limits, and supports pre-execution type checking against built-in type hints to catch signature mismatches before code runs. The sandbox can persist its interpreter state at external function calls, allowing execution sessions to be serialized, stored, and later resumed from a file or database. What distinguishes Monty is its combination of stateful, resumable execution with multi-language native embeddi
Executes each request in a separate operating system process, automatically replacing crashed workers to ensure reliability.
Buildbot ist ein auf Python basierendes Continuous-Integration-Framework und ein verteilter Build-Orchestrator. Es fungiert als Build-Automatisierungs-Engine, die das Abrufen von Quellcode, die Ausführung von Build-Schritten und die Berichterstattung über Ergebnisse über einen zentralen Controller und ein Netzwerk aus Remote-Worker-Agents koordiniert. Das System zeichnet sich durch eine plugin-basierte Erweiterbarkeitsarchitektur und ein Master-Worker-Verteilungsmodell aus. Es ermöglicht dynamische Build-Anpassungen zur Laufzeit und unterstützt ein austauschbares Datenbank-Backend zur Persistierung des Systemzustands und historischer Build-Daten. Das Projekt deckt ein breites Spektrum an Funktionen ab, darunter automatisierte Build-Planung und Pipeline-Orchestrierung, Versionskontrollintegration via Polling und Webhooks sowie die Bereitstellung von Workern auf physischen Servern, Docker-Containern und Kubernetes-Clustern. Zudem bietet es umfassende Überwachung und Observability durch Build-Log-Analyse und Performance-Tracking sowie sicheres Secret-Management und Multi-Provider-Authentifizierung. Die administrative Steuerung erfolgt über eine dedizierte Weboberfläche und Befehlszeilenwerkzeuge zur Konfigurationsvalidierung und Prozessverwaltung.
Automatically isolates and suspends workers encountering preparation issues using an exponential back-off timer.
Granian is a Rust-based HTTP server written specifically to serve Python web applications. It supports the three major Python gateway interfaces—ASGI for asynchronous apps, WSGI for synchronous apps, and RSGI for async requests—while also handling HTTP/1.1, HTTP/2, and WebSocket connections through automatic protocol negotiation. Architecturally, Granian uses a multiprocess worker model that isolates requests across CPU cores and provides configurable threadpool-limited concurrency to control backpressure per worker. It includes built-in Prometheus metrics exposition for connection counts and
Uses multiple worker processes to isolate requests across CPU cores.
Azkaban ist ein verteilter Workflow-Manager und ein DAG-basierter Job-Orchestrator, der als Enterprise-Batch-Prozessor konzipiert ist. Er dient als Java-basierte Workflow-Engine, die komplexe Job-Sequenzen über einen Cluster von Executor-Servern plant und ausführt, mit spezifischer Funktionalität zur Verwaltung von Big-Data-Workloads auf Hadoop-Clustern. Das System zeichnet sich durch ein verteiltes Executor-Modell aus, das den Status über eine gemeinsame Datenbank koordiniert, um eine hohe Verfügbarkeit sicherzustellen. Es verwendet eine plugin-basierte Architektur, die benutzerdefinierte Job-Typen und Systemfunktionserweiterungen ermöglicht, einschließlich der Fähigkeit, Plugins ohne Neustart der Executor-Server neu zu laden. Die Plattform deckt ein breites Spektrum an Funktionen ab, einschließlich Daten-Pipeline-Orchestrierung mit bedingter Logik, periodischer und ereignisgesteuerter Planung sowie Enterprise-Monitoring mit SLA-Tracking. Sie bietet granulare Zugriffskontrolle und Benutzer-Impersonation für sichere Ausführung, neben Traffic-Management-Tools für Executor-Load-Balancing und Ressourcenquoten. Benutzer können Workflows über eine webbasierte Schnittstelle oder programmatisch über eine Workflow-Execution-API verwalten.
Executes processes under the security identity of the submitting user to enforce cluster permissions.
Camunda ist eine Plattform für Geschäftsprozessautomatisierung und ein Orchestrierungstool, das zum Modellieren, Bereitstellen und Überwachen automatisierter Workflows und menschzentrierter Aufgaben verwendet wird. Es verfügt über eine BPMN-Workflow-Engine für die Ausführung von Prozessen basierend auf dem BPMN-2.0-Standard und eine DMN-Entscheidungs-Engine für die Automatisierung von Geschäftslogik und Regelauswertung. Die Plattform ist auf Flexibilität ausgelegt, durch eine eingebettete Workflow-Bibliothek, die es ermöglicht, die Engine direkt in benutzerdefinierte Anwendungen zu integrieren. Sie unterstützt Multi-Tenant-Workflow-Management, was die sichere Trennung von Prozessdefinitionen und Instanzdaten für mehrere Organisationen auf einer einzigen Engine ermöglicht. Das System bietet eine umfassende Suite an Funktionen, die Prozessmodellierung, Laufzeitüberwachung und operative Beobachtbarkeit abdecken. Es enthält Tools für die Verwaltung menschlicher Aufgaben, die Ausführung datengesteuerter Routings und die Handhabung asynchroner Job-Queues. Administrative Funktionen decken Identitäts- und Zugriffsmanagement ab, einschließlich Benutzergruppenberechtigungen und mandantenbasierter Datenisolierung. Die Engine bietet eine REST-API für Remote-Prozessmanagement, Workflow-Instanzkontrolle und das Auslösen von Entscheidungslogik.
Implements an execution model where external workers poll the engine via REST API to fetch and lock tasks.
Zeebe ist eine Cloud-native Workflow-Engine und eine verteilte Zustandsmaschine, die für die Orchestrierung von Geschäftsprozessen unter Verwendung von BPMN- und DMN-Standards konzipiert wurde. Sie arbeitet als hochperformante gRPC-Workflow-Runtime, die komplexe Geschäftsprozesse durch eine partitionierte Event-Streaming-Architektur ausführt. Das System fungiert zudem als Orchestrator für Large-Language-Model-Agenten und koordiniert KI-Reasoning und Tool-Nutzung innerhalb deterministischer Geschäftsprozesse. Die Engine zeichnet sich durch ihr Peer-to-Peer-Broker-Networking und ein konsensbasiertes Datenreplikationsmodell aus, das hohe Verfügbarkeit und Fehlertoleranz sicherstellt. Sie setzt einen partitionierten Broker-Cluster ein, um horizontale Skalierbarkeit zu erreichen, und nutzt adaptives Request-Backpressure, um den eingehenden Befehlsfluss zu regulieren und Systemüberlastungen zu verhindern. Die Plattform deckt ein breites Spektrum operativer Funktionen ab, einschließlich Echtzeit-Ausführungsüberwachung mit Performance-Heatmaps, automatisierter Geschäftsentscheidungsfindung über Entscheidungstabellen und verteilter Task-Ausführung durch ein polling-basiertes Job-Worker-Modell. Sie bietet zudem Tools für Multi-Tenant-Ressourcenisolierung, identitätsbasierte Zugriffskontrolle und die Integration externer Web-APIs und serverloser Funktionen. Das System kann über verschiedene Umgebungen hinweg bereitgestellt werden, einschließlich Kubernetes und Docker, und wird über eine Kombination aus Kommandozeilenschnittstelle und programmatischer REST-API verwaltet.
Implements a polling-based execution model where external workers discover and execute automated business tasks.
Bee-queue ist ein Node.js-Hintergrundverarbeitungssystem, das Redis für Job-Queueing und Persistenz verwendet. Es wurde entwickelt, um rechenintensive Aufgaben vom Haupt-Execution-Thread auf Hintergrund-Worker auszulagern und so die Reaktionsfähigkeit der Anwendung aufrechtzuerhalten. Das Projekt bietet verteilte Job-Verarbeitung, die es Worker-Nodes ermöglicht, über mehrere Prozesse hinweg zu laufen, um große Mengen an Aufgaben gleichzeitig zu bewältigen. Es stellt eine zuverlässige Aufgabenausführung durch automatische Retries und die Wiederherstellung hängengebliebener Prozesse sicher. Der Funktionsumfang umfasst asynchrones Task-Scheduling für verzögerte Jobs, Concurrency-Control für Worker-Nodes und Job-Lifecycle-Management. Es enthält Tools zur Überwachung des Queue-Status, zur Verfolgung des Job-Fortschritts und zum Abrufen von Ergebnissen basierend auf dem Job-Zustand. Das System unterstützt Bulk-Job-Enqueuing zur Reduzierung des Netzwerk-Overheads und ermöglicht benutzerdefinierte Job-Identifikatoren sowie konfigurierbare Backoff-Strategien für fehlgeschlagene Aufgaben.
Implements a worker execution model where background processes poll the store for pending tasks.
Kore is an event-driven web and WebSocket server framework designed for building high-performance web services and APIs in C or Python. It functions as a secure, concurrent application framework that utilizes non-blocking I/O and isolated worker processes to handle high-concurrency traffic. The project is distinguished by a security-first architecture that features OS-level process sandboxing, privilege separation, and the isolation of private encryption keys into dedicated processes. It enables zero-downtime deployments through dynamic module hot-reloading and provides automated TLS certific
Employs an isolated worker process model that spawns separate processes per CPU core for high-concurrency handling.
Sozu ist ein hochperformanter, speichersicherer Reverse Proxy und Load Balancer, der in Rust geschrieben wurde. Er ist darauf ausgelegt, HTTP-, TCP- und UDP-Traffic durch eine Multi-Prozess-Architektur zu verwalten, die isolierte Worker-Prozesse nutzt, um Fehlertoleranz und eine effiziente Ressourcennutzung auf Multi-Core-Hardware sicherzustellen. Das Projekt zeichnet sich durch einen Fokus auf kontinuierliche Verfügbarkeit und dynamische Kontrolle aus. Es bietet einen einzigartigen Mechanismus für binäres Hot-Reloading und eine Unix-Socket-basierte Control-Plane, die es Administratoren ermöglicht, Proxy-Konfigurationen zu aktualisieren, Listener-Einstellungen zu modifizieren und sogar die Proxy-Binärdatei zu ersetzen, ohne aktive Client-Verbindungen zu trennen oder den Dienst zu unterbrechen. Dieses Design stellt sicher, dass die Infrastruktur während Updates und Laufzeitanpassungen reaktionsfähig und sicher bleibt. Über seine Kern-Routing-Fähigkeiten hinaus bietet der Proxy eine umfassende Suite an Tools für Edge-Security und Traffic-Management. Er handhabt TLS-Terminierung, setzt Zugriffskontrollrichtlinien durch und mindert protokollbasierte Flood-Angriffe, insbesondere für HTTP/2-Traffic. Das System enthält zudem umfangreiche Observability-Funktionen, die Echtzeit-Performance-Monitoring, verteilte Trace-Propagation und strukturiertes Audit-Logging für alle Konfigurationsänderungen und Systemereignisse bieten.
Restricts worker process privileges to shield backend infrastructure and prevent unauthorized access to system resources.