14 Repos
Mechanisms for executing tasks on a cron-like schedule across multiple nodes while preventing duplicate executions.
Distinct from Recurring Task Scheduling: Focuses on distributed execution without duplication, unlike AI agent or DB-specific recurring schedules.
Explore 14 awesome GitHub repositories matching devops & infrastructure · Distributed Recurring Task Scheduling. Refine with filters or upvote what's useful.
Sidekiq is a background job processor and queue manager for Ruby that uses Redis to manage asynchronous tasks. It functions as a distributed task scheduler capable of handling periodic, delayed, and recurring jobs across a cluster of worker processes. The project features a job monitoring dashboard and administrative web interface for visualizing system state, tracking worker performance, and managing failed or dead jobs. It provides a distributed rate limiter to control execution frequency across multiple processes. The framework covers a broad range of operational capabilities, including j
Manages periodic, delayed, and recurring tasks across a cluster of worker processes using Redis.
Quartz is a Java job scheduling framework and task execution engine designed to manage and execute scheduled tasks within application environments. It functions as an enterprise job scheduler that persists job state and execution history to maintain reliability across system restarts. The system distinguishes itself through a decoupled architecture that separates the definition of a job's action from the trigger logic that determines when it runs. It supports distributed task coordination across multiple server nodes to provide high availability and load balancing. The framework covers a bro
Runs specific code on a fixed schedule across distributed nodes while preventing duplicate execution.
Lamp Cloud is a multi-tenant SaaS backend framework built on Java and Spring Cloud that provides a complete foundation for building enterprise-grade administration systems. Its core identity centers on supporting multiple tenant isolation strategies—including database-per-tenant, schema-per-tenant, and shared-table modes—that can be switched without altering business code, alongside a role-based access control system enforced at the gateway layer across all microservices. The framework distinguishes itself through comprehensive tenant lifecycle management tools that allow creating, configurin
Runs cron jobs across a cluster with a distributed scheduler, ensuring each task executes exactly once.
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
Runs background jobs on a fixed timetable using cron syntax, with optional jitter to distribute execution times.
Descheduler ist ein Kubernetes-Workload-Rebalancer und Pod-Eviction-Manager, der darauf ausgelegt ist, die Ressourcenverteilung zu optimieren und die Cluster-Stabilität aufrechtzuerhalten. Er identifiziert und entfernt Pods, die Scheduling-Einschränkungen oder Gesundheitsanforderungen nicht mehr erfüllen, und ermöglicht es dem Cluster, diese auf geeignetere Nodes zu verschieben. Das Projekt bietet spezialisierte Funktionen zum Ausgleich der Node-Ressourcenauslastung, zur Durchsetzung von Topology-Spread-Constraints und zum Entfernen doppelter Pods zur Verbesserung der Verteilung. Es fungiert zudem als Autoscaler-Helfer, indem es Workloads auf weniger Nodes verdichtet, um das Downscaling ungenutzter Infrastruktur zu erleichtern. Das System deckt eine Vielzahl von Wartungsaufgaben ab, einschließlich der Bereinigung fehlerhafter, instabiler oder veralteter Pods sowie der Durchsetzung von Node-Affinity- und Taint-Regeln. Es enthält Sicherheitsmechanismen wie die Validierung der Scheduling-Passgenauigkeit, um sicherzustellen, dass Pods vor der Eviction neu geplant werden können, label-basiertes Filtern zum Schutz kritischer Workloads sowie einen Dry-Run-Modus zur Vorschau von Änderungen. Das Tool kann als kontinuierlicher Hintergrundprozess oder als wiederkehrender Cron-Job bereitgestellt werden und unterstützt Hochverfügbarkeit durch Leader-Election.
Executes cluster rebalancing tasks on a recurring schedule across multiple nodes while preventing concurrent execution.
FastStream is an asynchronous Python framework designed for building event-driven microservices. It provides a unified abstraction layer for interacting with various message brokers, enabling developers to manage event production and consumption through a consistent interface while maintaining access to native provider-specific features. The framework centers on a decorator-based routing model that binds application logic directly to broker topics, supported by a built-in dependency injection container that resolves resources at runtime. The framework distinguishes itself through its deep int
Triggers message publishing or function execution on fixed timetables using distributed task queues.
GRR ist eine verteilte Incident-Response-Plattform und ein Orchestrator für asynchrone forensische Aufgaben. Es fungiert als Remote-Forensik-Framework, das entwickelt wurde, um flüchtige Daten, Systemspeicher und digitale Artefakte von Remote-Hosts während der Reaktion auf Sicherheitsvorfälle zu sammeln und zu analysieren. Das System arbeitet als Remote-Endpoint-Triage-System und nutzt eine koordinierte Architektur zur Verwaltung einer Flotte von Agenten. Es ermöglicht die Ausführung investigativer Aufgaben über mehrere Systeme hinweg und erlaubt die Suche nach Dateien und Registrierungseinträgen über eine große Flotte von Maschinen, um kompromittierte Hosts zu identifizieren. Die Plattform bietet Funktionen für die digitale forensische Analyse, einschließlich der Fähigkeit, Rohdateisysteme zu analysieren und chronologische Systemereignis-Zeitlinien zu generieren. Sie enthält zudem Tools für das Flotten-Monitoring im Unternehmen, um die Ressourcennutzung zu verfolgen und wiederkehrende forensische Aufgaben zu planen.
Automates the execution of recurring forensic jobs across a distributed fleet using a cron-like schedule.
Dkron is a distributed, fault-tolerant system designed for scheduling and executing recurring tasks across a cluster of nodes. It functions as a cron-based orchestrator that manages job lifecycles, including automatic retries, timeouts, and complex dependencies, while ensuring state consistency through a consensus protocol. By coordinating remote task execution across infrastructure, it enables the automation of background operations and the management of distributed workflows. The system distinguishes itself through a modular architecture that supports pluggable storage backends and a plugin
A fault-tolerant system for scheduling and executing recurring tasks across a cluster of nodes using a consensus protocol.
Jupiter ist eine umfassende Suite für Task-Scheduling, Performance-Observability, Service-Governance, Projekt-Bootstrapping und Abhängigkeitsanalyse innerhalb von Service-Meshes. Sie bietet ein Microservice-Governance-Framework zur Verwaltung von Service-Discovery, Load-Balancing und Kommunikation über verteilte Systeme hinweg. Das Projekt zeichnet sich durch ein Service-Mesh-Management-Tool aus, das Service-Abhängigkeiten analysiert und die Registrierung in mehreren Rechenzentren sowie die Laufzeitkonfiguration verwaltet. Es enthält einen dedizierten Microservice-Projekt-Bootstrapper über ein Command-Line-Tool, um standardisierte Projektstrukturen für die Erstellung und Bereitstellung neuer Dienste zu generieren. Das System deckt ein breites Spektrum an Funktionen ab, einschließlich verteiltem Tracing und Monitoring zum Sammeln von Latenz- und Fehlermetriken, einem verteilten Task-Scheduler zur Koordination zeitgesteuerter Aufgaben über Serverinstanzen hinweg sowie zentralisierter Konfigurations- und Berechtigungsverwaltung. Es bietet zudem Laufzeit-Performance-Profiling durch Echtzeit-Sampling und standardisierte Fehlercode-Trennung, um die Ursachenanalyse zu beschleunigen.
Coordinates the execution of timed tasks across multiple server instances to ensure consistency and prevent duplicates.
Lilishop ist eine Multi-Vendor-B2B2C-E-Commerce-Plattform, die als Marktplatz konzipiert ist, auf dem Drittanbieter unabhängige Storefronts innerhalb eines einheitlichen Ökosystems verwalten können. Sie basiert auf einer Spring-Cloud-Microservices-Architektur und einem Spring-Boot-Backend und nutzt Vue und Uniapp, um responsive Benutzeroberflächen über Web-, Mobil- und Mini-Programm-Plattformen hinweg bereitzustellen. Die Plattform differenziert sich durch integrierte Marketing-Automatisierungstools, einschließlich Gruppenkäufen, Schnäppchenkampagnen und einem provisionsbasierten Affiliate-Vertriebsnetzwerk. Sie verfügt zudem über ein umfassendes Finanzabrechnungssystem, das die kanalübergreifende Zahlungsabwicklung via Alipay und WeChat Pay sowie die automatisierte Provisionsverteilung und Händlerabrechnung abwickelt. Das System deckt ein breites Spektrum an Einzelhandelsoperationen ab, einschließlich hierarchischer Katalogverwaltung, automatisierter Coupon-Verteilung und kanalübergreifender Verfolgung des Bestelllebenszyklus. Es enthält dedizierte Tools für Streitbeilegung, After-Sales-Service-Audits und facettierte Produktsuchindizierung. Die Bereitstellung wird über Docker- und Compose-Skripte verwaltet, um die Orchestrierung ihrer verteilten API-Dienste und Consumer zu erleichtern.
Implements a distributed task scheduling mechanism using sorted data structures for delayed and recurring background jobs.
ShedLock ist ein Manager für verteilte Locks, der darauf ausgelegt ist, zu verhindern, dass geplante Tasks gleichzeitig über mehrere Nodes in einem verteilten System hinweg ausgeführt werden. Er fungiert als Task-Koordinator, der eine einmalige Ausführung zeitgesteuerter Jobs sicherstellt, indem er Lock-Lebensdauern verwaltet und externe Lock-Anbieter nutzt. Das System verwendet datenbankgestützte Anbieter, um Task-Ausführungszustände in externen Datenbanken zu speichern und Locks über aktive Cluster-Nodes hinweg zu synchronisieren. Es beinhaltet einen Clock-Drift-toleranten Synchronisierer, der Zeitdiskrepanzen zwischen verteilten Nodes durch die Verwendung geteilter Zeitstempel und flexibler Lock-Lebensdauern handhabt. Das Projekt bietet Mechanismen für den gegenseitigen Ausschluss geteilter Ressourcen und die Task-Koordination über mehrere Nodes hinweg. Es unterstützt den automatischen Lock-Ablauf, um Deadlocks bei Node-Abstürzen zu verhindern, und hält minimale Lock-Haltezeiten ein, um sicherzustellen, dass Tasks abgeschlossen werden, bevor ein Lock freigegeben wird. Die Implementierung verwendet eine anbieteragnostische Abstraktion, um die Locking-Logik von verschiedenen Datenbank-Backends zu entkoppeln.
Prevents scheduled jobs from running on multiple server nodes simultaneously by using a shared synchronization lock.
Oban is a distributed background job processing system and task scheduler that uses PostgreSQL for transactional job storage and reliable execution across multiple nodes. It serves as a PostgreSQL-backed background worker and job queue, coordinating task execution and concurrency through a relational database to ensure delivery guarantees. The system differentiates itself through a distributed workflow orchestrator capable of managing multi-step processing pipelines, dependent job sequencing, and shared context. It provides advanced orchestration tools including job batching, chunked processi
Manages cron-like jobs that run on a set schedule across multiple nodes without triggering duplicate executions.
Good Job ist ein Hintergrund-Job-Prozessor für Ruby on Rails, der eine PostgreSQL-Datenbank als primäre Speicher-Engine nutzt. Durch die Nutzung relationaler Datenbanktransaktionen stellt er eine persistente und zuverlässige Aufgabenausführung sicher und integriert sich direkt in das Active-Job-Framework, um asynchrone Operationen und wiederkehrende Job-Zeitpläne innerhalb bestehender Anwendungsumgebungen zu handhaben. Das System zeichnet sich durch ein In-Process-Ausführungsmodell aus, das es Hintergrund-Workern ermöglicht, im selben Prozess wie der Webserver zu laufen, was die Bereitstellung durch den Wegfall separater Worker-Dienste vereinfacht. Es nutzt multithreaded Worker-Ausführung und datenbankbasierte Advisory-Locks, um Aufgaben über verteilte Prozesse hinweg zu koordinieren, was eine eindeutige Ausführung für wiederkehrende Jobs und eine effiziente Ressourcennutzung sicherstellt. Die Bibliothek bietet umfassende betriebliche Kontrollen, einschließlich der Möglichkeit, verwandte Aufgaben in Batches für die kollektive Lebenszyklusverfolgung zu gruppieren und Masseneinfügungen zur Optimierung hochfrequenter Aufgabenaufnahmen zu nutzen. Administratoren können Nebenläufigkeitslimits verwalten, dedizierte Thread-Pools für spezifische Warteschlangen zuweisen und den Systemzustand über ein integriertes, anpassbares webbasiertes Dashboard überwachen. Das Projekt enthält ein integriertes Interface zum Inspizieren, Pausieren und Troubleshooting von Aufgaben in Echtzeit, neben konfigurierbarer Historienaufbewahrung für Auditing und Performance-Analysen.
Runs automated operations on a fixed timetable using standard time expressions with unique execution across distributed processes.
This project serves as a comprehensive technical guide and framework for building, deploying, and managing event-driven applications. It focuses on serverless architecture development, providing patterns and practices for implementing cloud-native services that execute code in response to triggers without requiring persistent server infrastructure. The repository distinguishes itself by offering a unified approach to polyglot runtime orchestration, allowing developers to manage components written in multiple programming languages within a single project. It emphasizes local cloud emulation, e
Triggers background functions on fixed timetables using cron or rate expressions.