awesome-repositories.com
Blog
awesome-repositories.com

Découvrez les meilleurs dépôts open-source grâce à notre recherche par IA.

ExplorerRecherches sélectionnéesAlternatives open sourceLogiciels auto-hébergésBlogPlan du site
ProjetÀ proposNotre méthodologiePresseServeur MCP
Mentions légalesConfidentialitéConditions d'utilisation
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·

23 dépôts

Awesome GitHub RepositoriesPolling-Based Worker Execution

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.

Awesome Polling-Based Worker Execution GitHub Repositories

Trouvez les meilleurs dépôts grâce à l'IA.Nous recherchons les dépôts les plus pertinents grâce à l'IA.
  • optimalbits/bullAvatar de OptimalBits

    OptimalBits/bull

    16,243Voir sur GitHub↗

    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.

    JavaScriptjobjob-queuemessage
    Voir sur GitHub↗16,243
  • mperham/sidekiqAvatar de mperham

    mperham/sidekiq

    13,536Voir sur GitHub↗

    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.

    Ruby
    Voir sur GitHub↗13,536
  • netflix/conductorAvatar de Netflix

    Netflix/conductor

    12,767Voir sur GitHub↗

    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.

    Java
    Voir sur GitHub↗12,767
  • hangfireio/hangfireAvatar de HangfireIO

    HangfireIO/Hangfire

    10,015Voir sur GitHub↗

    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.

    C#background-jobsbackground-threadbackground-worker
    Voir sur GitHub↗10,015
  • resque/resqueAvatar de resque

    resque/resque

    9,480Voir sur GitHub↗

    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.

    Rubyasynchronous-tasksasynctaskbackground-jobs
    Voir sur GitHub↗9,480
  • uber/cadenceAvatar de uber

    uber/cadence

    9,336Voir sur GitHub↗

    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.

    Go
    Voir sur GitHub↗9,336
  • vendurehq/vendureAvatar de vendurehq

    vendurehq/vendure

    7,924Voir sur GitHub↗

    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.

    TypeScriptecommerceecommerce-apiecommerce-framework
    Voir sur GitHub↗7,924
  • gocd/gocdAvatar de gocd

    gocd/gocd

    7,402Voir sur GitHub↗

    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.

    Java
    Voir sur GitHub↗7,402
  • versatica/mediasoupAvatar de versatica

    versatica/mediasoup

    7,146Voir sur GitHub↗

    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.

    C++c-plus-plusnodejsrust
    Voir sur GitHub↗7,146
  • apache/stormAvatar de apache

    apache/storm

    6,683Voir sur GitHub↗

    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.

    Java
    Voir sur GitHub↗6,683
  • apache/pinotAvatar de apache

    apache/pinot

    6,098Voir sur GitHub↗

    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.

    Java
    Voir sur GitHub↗6,098
  • pydantic/montyAvatar de pydantic

    pydantic/monty

    5,540Voir sur GitHub↗

    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.

    Rust
    Voir sur GitHub↗5,540
  • buildbot/buildbotAvatar de buildbot

    buildbot/buildbot

    5,452Voir sur GitHub↗

    Buildbot est un framework d'intégration continue (CI) basé sur Python et un orchestrateur de build distribué. Il fonctionne comme un moteur d'automatisation de build qui coordonne la récupération du code source, l'exécution des étapes de build et le reporting des résultats via un contrôleur central et un réseau d'agents de travail distants. Le système se distingue par une architecture d'extensibilité basée sur des plugins et un modèle de distribution maître-esclave. Il permet la modification dynamique des builds au runtime et supporte un backend de base de données enfichable pour persister l'état du système et l'historique des builds. Le projet couvre un large éventail de capacités, incluant la planification automatisée des builds et l'orchestration de pipelines, l'intégration au contrôle de version via polling et webhooks, et le provisionnement de workers sur des serveurs physiques, des conteneurs Docker et des clusters Kubernetes. Il offre également une surveillance et une observabilité complètes via l'analyse des logs de build et le suivi des performances, ainsi qu'une gestion sécurisée des secrets et une authentification multi-fournisseur. Le contrôle administratif est disponible via une interface web dédiée et des outils en ligne de commande pour la validation de configuration et la gestion des processus.

    Automatically isolates and suspends workers encountering preparation issues using an exponential back-off timer.

    Python
    Voir sur GitHub↗5,452
  • emmett-framework/granianAvatar de emmett-framework

    emmett-framework/granian

    5,074Voir sur GitHub↗

    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.

    Rustasgiasynciohttp
    Voir sur GitHub↗5,074
  • azkaban/azkabanAvatar de azkaban

    azkaban/azkaban

    4,504Voir sur GitHub↗

    Azkaban est un gestionnaire de flux de travail distribué et un orchestrateur de tâches basé sur DAG, conçu comme un processeur de batch d'entreprise. Il sert de moteur de flux de travail basé sur Java qui planifie et exécute des séquences de tâches complexes à travers un cluster de serveurs d'exécution, avec une fonctionnalité spécifique pour gérer les charges de travail big data sur les clusters Hadoop. Le système se distingue par un modèle d'exécuteur distribué qui coordonne l'état via une base de données partagée pour garantir une haute disponibilité. Il utilise une architecture basée sur des plugins qui permet des types de tâches personnalisés et des extensions de fonctionnalité système, y compris la possibilité de recharger à chaud les plugins sans redémarrer les serveurs d'exécution. La plateforme couvre un large éventail de capacités, y compris l'orchestration de pipelines de données avec logique conditionnelle, la planification périodique et basée sur des événements, et la surveillance d'entreprise avec suivi des SLA. Elle fournit un contrôle d'accès granulaire et l'usurpation d'identité utilisateur pour une exécution sécurisée, ainsi que des outils de gestion du trafic pour l'équilibrage de charge des exécuteurs et les quotas de ressources. Les utilisateurs peuvent gérer les flux de travail via une interface web ou par programmation via une API d'exécution de flux de travail.

    Executes processes under the security identity of the submitting user to enforce cluster permissions.

    Java
    Voir sur GitHub↗4,504
  • camunda/camunda-bpm-platformAvatar de camunda

    camunda/camunda-bpm-platform

    4,269Voir sur GitHub↗

    Camunda est une plateforme d'automatisation des processus métier et un outil d'orchestration utilisé pour modéliser, déployer et surveiller des workflows automatisés et des tâches centrées sur l'humain. Elle dispose d'un moteur de workflow BPMN pour exécuter des processus basés sur le standard BPMN 2.0 et d'un moteur de décision DMN pour automatiser la logique métier et l'évaluation des règles. La plateforme est conçue pour la flexibilité via une bibliothèque de workflow embarquée qui permet au moteur d'être intégré directement dans des applications personnalisées. Elle prend en charge la gestion de workflow multi-tenant, permettant la séparation sécurisée des définitions de processus et des données d'instance pour plusieurs organisations sur un seul moteur. Le système fournit une suite complète de capacités couvrant la modélisation de processus, la surveillance au runtime et l'observabilité opérationnelle. Il inclut des outils pour gérer les tâches humaines, exécuter le routage piloté par les données et gérer la mise en file d'attente asynchrone des jobs. Les fonctionnalités administratives couvrent la gestion des identités et des accès, incluant les permissions de groupes d'utilisateurs et l'isolation des données basée sur le tenant. Le moteur fournit une API REST pour la gestion des processus à distance, le contrôle des instances de workflow et le déclenchement de la logique de décision.

    Implements an execution model where external workers poll the engine via REST API to fetch and lock tasks.

    Java
    Voir sur GitHub↗4,269
  • zeebe-io/zeebeAvatar de zeebe-io

    zeebe-io/zeebe

    4,171Voir sur GitHub↗

    Zeebe est un moteur de flux de travail cloud-native et une machine à états distribuée conçue pour l'orchestration des processus métier en utilisant les normes BPMN et DMN. Il opère comme un runtime de flux de travail gRPC haute performance qui exécute des processus métier complexes via une architecture de streaming d'événements partitionnée. Le système fonctionne également comme un orchestrateur pour les agents de modèles de langage de grande taille, coordonnant le raisonnement de l'IA et l'utilisation d'outils au sein de processus métier déterministes. Le moteur se distingue par son réseau de courtiers peer-to-peer et un modèle de réplication de données basé sur le consensus qui garantit une haute disponibilité et une tolérance aux pannes. Il emploie un cluster de courtiers partitionné pour atteindre une scalabilité horizontale et utilise une contre-pression de requête adaptative pour réguler le flux de commandes entrant et prévenir la surcharge du système. La plateforme couvre une large surface de capacités opérationnelles, incluant la surveillance de l'exécution en temps réel avec des cartes thermiques de performance, la prise de décision métier automatisée via des tables de décision et l'exécution de tâches distribuées via un modèle de travailleur de tâches basé sur le polling. Elle fournit également des outils pour l'isolation des ressources multi-locataires, le contrôle d'accès basé sur l'identité et l'intégration d'API web externes et de fonctions sans serveur. Le système peut être déployé à travers divers environnements, incluant Kubernetes et Docker, et est géré via une combinaison d'une interface en ligne de commande et d'une API REST programmatique.

    Implements a polling-based execution model where external workers discover and execute automated business tasks.

    Java
    Voir sur GitHub↗4,171
  • bee-queue/bee-queueAvatar de bee-queue

    bee-queue/bee-queue

    4,032Voir sur GitHub↗

    Bee-queue est un système de traitement en arrière-plan pour Node.js qui utilise Redis pour la mise en file d'attente des travaux et la persistance. Il est conçu pour décharger les tâches lourdes du thread d'exécution principal vers des travailleurs en arrière-plan afin de maintenir la réactivité de l'application. Le projet fournit un traitement distribué des travaux, permettant aux nœuds de travail de s'exécuter sur plusieurs processus pour gérer de grands volumes de tâches simultanément. Il garantit une exécution fiable des tâches grâce à des tentatives automatiques (retries) et à la récupération des processus bloqués. Sa surface de capacités couvre la planification asynchrone des tâches pour les travaux différés, le contrôle de la concurrence pour les nœuds de travail et la gestion du cycle de vie des travaux. Il inclut des outils pour surveiller la santé de la file d'attente, suivre la progression des travaux et récupérer les résultats en fonction de l'état du travail. Le système prend en charge la mise en file d'attente en masse pour réduire la surcharge réseau et permet des identifiants de travail personnalisés ainsi que des stratégies de backoff configurables pour les tâches échouées.

    Implements a worker execution model where background processes poll the store for pending tasks.

    JavaScriptbee-queuejob-queuejob-scheduler
    Voir sur GitHub↗4,032
  • jorisvink/koreAvatar de jorisvink

    jorisvink/kore

    3,825Voir sur GitHub↗

    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.

    Ccframeworkhigh-performance
    Voir sur GitHub↗3,825
  • sozu-proxy/sozuAvatar de sozu-proxy

    sozu-proxy/sozu

    3,687Voir sur GitHub↗

    Sozu est un reverse proxy et load balancer haute performance, sécurisé en mémoire, construit en Rust. Il est conçu pour gérer le trafic HTTP, TCP et UDP via une architecture multi-processus qui tire parti de processus workers isolés pour garantir la tolérance aux pannes et une utilisation efficace des ressources sur du matériel multi-cœur. Le projet se distingue par une focalisation sur la disponibilité continue et le contrôle dynamique. Il dispose d'un mécanisme unique de hot-reloading binaire et d'un plan de contrôle basé sur des sockets Unix, permettant aux administrateurs de mettre à jour les configurations de proxy, de modifier les paramètres des listeners et même de remplacer le binaire du proxy sans interrompre les connexions clients actives ou le service. Cette conception garantit que l'infrastructure reste réactive et sécurisée pendant les mises à jour et les ajustements au runtime. Au-delà de ses capacités de routage de base, le proxy fournit une suite complète d'outils pour la sécurité à la périphérie (edge security) et la gestion du trafic. Il gère la terminaison TLS, applique des politiques de contrôle d'accès et atténue les attaques par inondation basées sur le protocole, en particulier pour le trafic HTTP/2. Le système inclut également des fonctionnalités d'observabilité étendues, offrant une surveillance des performances en temps réel, la propagation de traces distribuées et une journalisation d'audit structurée pour tous les changements de configuration et événements système.

    Restricts worker process privileges to shield backend infrastructure and prevent unauthorized access to system resources.

    Rusthttphttp-proxyperformance
    Voir sur GitHub↗3,687
Préc.12Suivant
  1. Home
  2. DevOps & Infrastructure
  3. Polling-Based Worker Execution

Explorer les sous-tags

  • Worker Process Isolation2 sous-tagsExecuting asynchronous jobs in separate operating system processes to protect the main server's responsiveness. **Distinct from Polling-Based Worker Execution:** Focuses on the architectural isolation of the worker process from the API server, rather than the polling mechanism.