Framework Java distribuido de planificación de tareas que admite ejecuciones con cron, a intervalos fijos, con retraso y al estilo MapReduce en nodos servidor y worker.
xuxueli/xxl-job
Plataforma distribuida de planificación de tareas con consola web, compatible con Cron y activadores de intervalo fijo, trabajos de difusión fragmentados, conmutación por error y reintentos.
- Estrellas
- 30,622
- Forks
- 11,494
- Issues abiertos
- 72
- Último commit
- hace 13 días
¿Qué es?
XXL-JOB es una plataforma distribuida de planificación de tareas para aplicaciones Java. Los trabajos se crean, inician, detienen y supervisan desde una consola web, mientras que los ejecutores ejecutan la lógica de los trabajos en uno o varios procesos de trabajo que se registran en un planificador central. El planificador está diseñado para ejecutarse como un clúster, y los ejecutores también pueden desplegarse en clústeres para ofrecer alta disponibilidad en la ejecución de trabajos.
La plataforma cubre necesidades habituales de planificación: activadores Cron, de frecuencia fija y de demora fija; activadores mediante API y manuales; y dependencias entre trabajos padre e hijo. La ejecución se controla mediante estrategias de enrutamiento como round robin, selección aleatoria, hash consistente y conmutación por error, además de trabajos de difusión fragmentados que se ejecutan en todos los nodos ejecutores. Los trabajos fallidos se pueden reintentar, los trabajos que superan el tiempo límite se interrumpen y las alertas de error se envían por correo electrónico, con un punto de extensión para otros canales.
Las funciones operativas incluyen la edición de trabajos en línea con un IDE web GLUE compatible con scripts de shell, Python, Node.js, PHP y PowerShell; registros de ejecución consultables por páginas; informes de ejecución; permisos para usuarios y ejecutores; y registros de auditoría. La comunicación entre el planificador y los ejecutores está cifrada, y una API OpenAPI basada en REST permite la integración con servicios escritos en otros lenguajes.
Funciones clave
- 01Consola web para crear, iniciar, detener y editar trabajos sin necesidad de volver a desplegar.
- 02Activadores de trabajos Cron, de intervalo fijo, de demora fija, mediante API, manuales y con dependencias padre-hijo.
- 03Trabajos de difusión fragmentados y estrategias de enrutamiento como round robin, hash consistente y conmutación por error.
- 04Límites de tiempo para los trabajos, reintentos en caso de error y alertas por correo electrónico, con un punto de extensión para otros canales.
- 05IDE web GLUE para trabajos de código y scripts en línea, con historial de versiones.
- 06API OpenAPI REST independiente del lenguaje para integrar ejecutores escritos en otros lenguajes.
Casos de uso
- Ejecutar trabajos programados de sincronización de datos o liquidación en un clúster de servicios Java.
- Dividir una carga de trabajo por lotes grande en fragmentos que se ejecutan en paralelo en varios nodos ejecutores.
- Activar scripts de mantenimiento de shell o Python según un horario, con registros y alertas centralizados.
- Sustituir trabajos cron dispersos en varios servidores por una única consola de planificación supervisada.
Inicio rápido
- 1
Clona el repositorio desde GitHub
- 2
Inicializa la base de datos con el script SQL del repositorio
- 3
Ejecuta la consola de administración con Docker
docker pull xuxueli/xxl-job-admin
Antes de usarlo
- Tiene licencia GPL-3.0, una licencia copyleft que exige que las obras derivadas se publiquen como código abierto bajo las mismas condiciones.
- Requiere un backend de Java y configurar una base de datos, por lo que alojarlo por cuenta propia requiere cierto esfuerzo.
Temas
Preguntas frecuentes
- ¿Qué es xxl-job?
- Plataforma distribuida de planificación de tareas con consola web, compatible con Cron y activadores de intervalo fijo, trabajos de difusión fragmentados, conmutación por error y reintentos. XXL-JOB es una plataforma distribuida de planificación de tareas para aplicaciones Java. Los trabajos se crean, inician, detienen y supervisan desde una consola web, mientras que los ejecutores ejecutan la lógica de los trabajos en uno o varios procesos de trabajo que se registran en un planificador central. El planificador está diseñado para ejecutarse como un clúster, y los ejecutores también pueden desplegarse en clústeres para ofrecer alta disponibilidad en la ejecución de trabajos.
- ¿xxl-job es gratuito? ¿Qué licencia tiene?
- xxl-job es open source bajo la licencia GPL-3.0. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿xxl-job sigue mantenido?
- Mantenimiento activo. El último commit de xxl-job fue el 9 oct 2026.
- ¿Para qué puedo usar xxl-job?
- Ejecutar trabajos programados de sincronización de datos o liquidación en un clúster de servicios Java. Dividir una carga de trabajo por lotes grande en fragmentos que se ejecutan en paralelo en varios nodos ejecutores. Activar scripts de mantenimiento de shell o Python según un horario, con registros y alertas centralizados. Sustituir trabajos cron dispersos en varios servidores por una única consola de planificación supervisada.
- ¿Cómo se instala xxl-job?
- Clona el repositorio desde GitHub Inicializa la base de datos con el script SQL del repositorio Ejecuta la consola de administración con Docker: docker pull xuxueli/xxl-job-admin
- ¿Dónde consigo xxl-job?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/xuxueli/xxl-job
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Orquestador de workflows autoalojable que ejecuta scripts existentes, comandos SSH y contenedores desde YAML declarativo, como un único binario y sin base de datos.
Panel de terminal basado en Textual para crear, editar, pausar y supervisar tareas cron en máquinas locales y servidores remotos por SSH.
Cliente Java para Valkey y Redis que añade colecciones distribuidas, bloqueos, colas y servicios sobre los comandos básicos.
Plataforma TypeScript de código abierto para crear y desplegar agentes de IA duraderos y de larga ejecución, y flujos de trabajo en segundo plano con reintentos, colas y observabilidad.
Framework Java con opiniones definidas para crear aplicaciones y servicios Spring listos para producción con una configuración mínima.