3 repositorios
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 es un mapeador objeto-relacional (ORM) y capa de acceso a datos para .NET que traduce código orientado a objetos a SQL para múltiples proveedores de bases de datos relacionales. Funciona como un constructor de consultas SQL fluido y sincronizador de esquemas de base de datos, permitiendo a los desarrolladores alinear las estructuras de tablas e índices de la base de datos con las definiciones de clases de entidad. El framework está optimizado específicamente para .NET Native AOT para garantizar huellas de memoria reducidas y tiempos de inicio más rápidos. Incluye un gestor de tráfico de base de datos para distribuir la carga a través de división de lectura-escritura, fragmentación de tablas dinámica y aislamiento de datos basado en inquilinos. Las capacidades amplias incluyen ingesta de datos de alto rendimiento utilizando mecanismos de copia masiva específicos del proveedor, consultas avanzadas con funciones de ventana y CTEs recursivos, y monitoreo basado en AOP para auditar cambios de datos. El sistema también proporciona herramientas de gestión de esquemas para migraciones automatizadas y utilidades de desarrollo para generar clases de entidad a partir de metadatos de base de datos.
Coordinates task execution across multiple application instances to prevent duplicate work using shared state.
ShedLock es un gestor de bloqueos distribuidos diseñado para evitar que las tareas programadas se ejecuten simultáneamente a través de múltiples nodos en un sistema distribuido. Actúa como un coordinador de tareas que asegura una ejecución única de trabajos temporizados gestionando los tiempos de vida de los bloqueos y utilizando proveedores de bloqueo externos. El sistema utiliza proveedores respaldados por bases de datos para almacenar estados de ejecución de tareas en bases de datos externas, sincronizando bloqueos a través de nodos de cluster activos. Incluye un sincronizador tolerante a la deriva del reloj que maneja discrepancias de tiempo entre nodos distribuidos mediante el uso de marcas de tiempo compartidas y tiempos de vida de bloqueo flexibles. El proyecto proporciona mecanismos para la exclusión mutua de recursos compartidos y la coordinación de tareas entre múltiples nodos. Admite la expiración automática de bloqueos para prevenir deadlocks durante fallos de nodos y mantiene tiempos mínimos de retención de bloqueo para asegurar que las tareas se completen antes de que se libere un bloqueo. La implementación utiliza una abstracción agnóstica del proveedor para desacoplar la lógica de bloqueo de varios backends de bases de datos.
Provides a coordination system that ensures scheduled tasks execute exactly once across multiple application instances using shared locking mechanisms.
Esta biblioteca proporciona un framework de programación de tareas para aplicaciones Node.js, permitiendo la automatización de operaciones recurrentes utilizando la sintaxis cron estándar. Funciona como un gestor de tareas en segundo plano que mantiene un registro con estado de los trabajos, permitiendo la inspección en tiempo de ejecución, la modificación y el control del ciclo de vida de las operaciones programadas. El proyecto se distingue por su soporte para entornos distribuidos y gestión de recursos. Incluye mecanismos para coordinar tareas entre múltiples instancias de la aplicación, asegurando que el trabajo programado se ejecute exactamente una vez para evitar solapamientos o contención de recursos. Para mantener la capacidad de respuesta de la aplicación, puede descargar lógica intensiva en recursos a procesos hijos aislados, evitando que el bucle de eventos principal se bloquee durante la ejecución pesada. La biblioteca ofrece un conjunto integral de herramientas de observabilidad y configuración, incluyendo monitoreo del ciclo de vida basado en eventos, programación consciente de la zona horaria y gestión del tiempo de ejecución. Opera como un runtime sin dependencias, lo que minimiza la superficie de ataque de seguridad y simplifica la integración en entornos restringidos.
Run a scheduled task exactly once across multiple instances using a shared backend while automatically failing over if the elected runner becomes unavailable.