3 Repos
Systems that ensure scheduled tasks execute exactly once across multiple application instances using shared state or locking mechanisms.
Distinct from Instance Scheduling Policies: Distinct from Instance Placements Across Members: focuses on coordinating the execution of application-level tasks across nodes, not the physical placement of containers or VMs.
Explore 3 awesome GitHub repositories matching devops & infrastructure · Distributed Task Coordinators. Refine with filters or upvote what's useful.
FreeSql is a .NET object-relational mapper and data access layer that translates object-oriented code into SQL for multiple relational database providers. It functions as a fluent SQL query builder and database schema synchronizer, allowing developers to align database table and index structures with entity class definitions. The framework is specifically optimized for .NET Native AOT to ensure reduced memory footprints and faster startup times. It includes a database traffic manager to distribute load through read-write splitting, dynamic table sharding, and tenant-based data isolation. Bro
Coordinates task execution across multiple application instances to prevent duplicate work using shared state.
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.
Provides a coordination system that ensures scheduled tasks execute exactly once across multiple application instances using shared locking mechanisms.
Diese Bibliothek bietet ein Task-Scheduling-Framework für Node.js-Anwendungen, das die Automatisierung wiederkehrender Operationen mittels Standard-Cron-Syntax ermöglicht. Sie fungiert als Hintergrund-Task-Manager, der eine zustandsbehaftete Registrierung von Jobs unterhält und so die Laufzeitinspektion, Modifikation und Lebenszykluskontrolle geplanter Operationen ermöglicht. Das Projekt zeichnet sich durch Unterstützung für verteilte Umgebungen und Ressourcenmanagement aus. Es enthält Mechanismen zur Koordination von Aufgaben über mehrere Anwendungsinstanzen hinweg, um sicherzustellen, dass geplante Arbeit genau einmal ausgeführt wird und Überschneidungen oder Ressourcenkonflikte vermieden werden. Um die Reaktionsfähigkeit der Anwendung zu erhalten, können ressourcenintensive Logiken in isolierte Kindprozesse ausgelagert werden, wodurch verhindert wird, dass der Main Event Loop während schwerer Ausführungen blockiert. Die Bibliothek bietet eine umfassende Suite von Observability- und Konfigurationstools, einschließlich ereignisgesteuerter Lebenszyklusüberwachung, zeitzonenbewusster Zeitplanung und Ausführungszeitmanagement. Sie arbeitet als Zero-Dependency-Runtime, was die Angriffsfläche minimiert und die Integration in eingeschränkte Umgebungen vereinfacht.
Run a scheduled task exactly once across multiple instances using a shared backend while automatically failing over if the elected runner becomes unavailable.