14 repositorios
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 es un reequilibrador de cargas de trabajo y gestor de desalojo de pods para Kubernetes, diseñado para optimizar la distribución de recursos y mantener la estabilidad del cluster. Identifica y elimina pods que ya no cumplen con las restricciones de programación o los requisitos de salud, permitiendo que el cluster los reubique en nodos más adecuados. El proyecto proporciona capacidades especializadas para equilibrar la utilización de recursos de los nodos, aplicar restricciones de dispersión de topología y eliminar pods duplicados para mejorar la distribución. También funciona como asistente de autoscaling al compactar cargas de trabajo en menos nodos para facilitar la reducción de infraestructura no utilizada. El sistema cubre una amplia gama de tareas de mantenimiento, incluyendo la limpieza de pods fallidos, inestables o antiguos, y la aplicación de reglas de afinidad y taints de nodos. Incluye mecanismos de seguridad como la validación de encaje en la programación para asegurar que los pods puedan ser reprogramados antes del desalojo, filtrado basado en etiquetas para proteger cargas de trabajo críticas y un modo de prueba (dry-run) para previsualizar cambios. La utilidad puede desplegarse como un proceso en segundo plano continuo o como un cron job recurrente y admite alta disponibilidad mediante elección de líder.
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 es una plataforma de respuesta a incidentes distribuida y un orquestador de tareas forenses asíncronas. Funciona como un framework de forense remota diseñado para recopilar y analizar datos volátiles, memoria del sistema y artefactos digitales de hosts remotos durante la respuesta a incidentes de seguridad. El sistema opera como un sistema de triaje de endpoints remoto, utilizando una arquitectura coordinada para gestionar una flota de agentes. Permite la ejecución de tareas de investigación en múltiples sistemas, permitiendo la búsqueda de archivos y registros en una gran flota de máquinas para identificar hosts comprometidos. La plataforma proporciona capacidades para el análisis forense digital, incluida la capacidad de analizar sistemas de archivos sin procesar y generar líneas de tiempo cronológicas de eventos del sistema. También incluye herramientas para el monitoreo de flotas empresariales para rastrear el uso de recursos y programar tareas forenses recurrentes.
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 es una suite integral para la programación de tareas, observabilidad del rendimiento, gobernanza de servicios, bootstrapping de proyectos y análisis de dependencias dentro de service meshes. Proporciona un framework de gobernanza de microservicios para gestionar el descubrimiento de servicios, balanceo de carga y comunicación a través de sistemas distribuidos. El proyecto se distingue por una herramienta de gestión de service mesh que analiza las dependencias de los servicios y gestiona el registro en múltiples centros de datos y la configuración en tiempo de ejecución. Incluye un bootstrapper de proyectos de microservicios dedicado mediante una herramienta de línea de comandos para generar estructuras de proyecto estandarizadas para la creación y despliegue de nuevos servicios. El sistema cubre una amplia gama de capacidades, incluyendo rastreo y monitoreo distribuido para recopilar métricas de latencia y error, un planificador de tareas distribuido para coordinar tareas programadas a través de instancias de servidor, y gestión centralizada de configuración y permisos. También proporciona perfilado de rendimiento en tiempo de ejecución mediante muestreo en tiempo real y separación estandarizada de códigos de error para acelerar el análisis de causa raíz.
Coordinates the execution of timed tasks across multiple server instances to ensure consistency and prevent duplicates.
Lilishop es una plataforma de comercio electrónico B2B2C multi-vendedor diseñada como un mercado donde comerciantes externos pueden gestionar escaparates independientes dentro de un ecosistema unificado. Está construida sobre una arquitectura de microservicios Spring Cloud y un backend Spring Boot, utilizando Vue y Uniapp para ofrecer interfaces de usuario responsivas en plataformas web, móviles y de mini-programas. La plataforma se diferencia por sus herramientas integradas de automatización de marketing, incluyendo compras grupales, campañas de ofertas y una red de distribución de afiliados basada en comisiones. También cuenta con un sistema integral de liquidación financiera que maneja el procesamiento de pagos multicanal a través de Alipay y WeChat Pay, junto con la distribución automatizada de comisiones y la facturación a comerciantes. El sistema cubre una amplia gama de operaciones minoristas, incluyendo gestión jerárquica de catálogos, distribución automatizada de cupones y seguimiento del ciclo de vida de pedidos omnicanal. Incluye herramientas dedicadas para arbitraje de disputas, auditoría de servicios postventa e indexación de búsqueda de productos facetada. El despliegue se gestiona a través de scripts de Docker y Compose para facilitar la orquestación de sus servicios de API distribuidos y consumidores.
Implements a distributed task scheduling mechanism using sorted data structures for delayed and recurring background jobs.
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.
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 es un procesador de trabajos en segundo plano para Ruby on Rails que utiliza una base de datos PostgreSQL como su motor de almacenamiento principal. Al aprovechar las transacciones de bases de datos relacionales, garantiza una ejecución de tareas persistente y confiable, integrándose directamente con el framework Active Job para manejar operaciones asíncronas y la programación de trabajos recurrentes dentro de entornos de aplicación existentes. El sistema se distingue por un modelo de ejecución en proceso que permite que los trabajadores en segundo plano se ejecuten dentro del mismo proceso que el servidor web, simplificando el despliegue al eliminar la necesidad de servicios de trabajo separados. Emplea la ejecución de trabajadores multihilo y bloqueos de asesoramiento a nivel de base de datos para coordinar tareas a través de procesos distribuidos, asegurando una ejecución única para trabajos recurrentes y una utilización eficiente de los recursos. La biblioteca ofrece controles operativos integrales, incluyendo la capacidad de agrupar tareas relacionadas en lotes para el seguimiento colectivo del ciclo de vida y el uso de inserción masiva para optimizar la ingesta de tareas de alta frecuencia. Los administradores pueden gestionar límites de concurrencia, asignar pools de hilos dedicados para colas específicas y monitorear la salud del sistema a través de un dashboard web integrado y personalizable. El proyecto incluye una interfaz incorporada para inspeccionar, pausar y solucionar problemas de tareas en tiempo real, junto con la retención de historial configurable para auditoría y análisis de rendimiento.
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.