Распределённый фреймворк на Java для планирования задач: cron, по фиксированному интервалу, с задержкой и в стиле MapReduce на серверных и рабочих узлах.
xuxueli/xxl-job
Распределённая платформа планирования задач с веб-консолью, поддержкой Cron и фиксированных интервалов, шардированных broadcast-задач, failover и повторных попыток.
- Звёзды
- 30,622
- Форки
- 11,494
- Открытые issues
- 72
- Последний коммит
- 13 дней назад
Что это?
XXL-JOB — распределённая платформа планирования задач для Java-приложений. Задачи создают, запускают, останавливают и отслеживают в веб-консоли, а исполнители выполняют их логику в одном или нескольких рабочих процессах, зарегистрированных в центральном планировщике. Планировщик рассчитан на работу в кластере; исполнители также можно развернуть в кластере, чтобы обеспечить высокую доступность выполнения задач.
Платформа поддерживает распространённые сценарии планирования: триггеры Cron, с фиксированной частотой и фиксированной задержкой, API- и ручной запуск, а также зависимости между родительскими и дочерними задачами. Выполнение управляется стратегиями маршрутизации, включая round robin, случайный выбор, consistent hashing и failover, а шардированные broadcast-задачи запускаются на каждом узле-исполнителе. При сбоях задачи можно запускать повторно, задачи с истёкшим таймаутом прерываются, а уведомления о сбоях отправляются по электронной почте; для других каналов предусмотрена точка расширения.
Среди возможностей для эксплуатации — редактирование задач онлайн во встроенной GLUE web IDE с поддержкой скриптов на shell, Python, Node.js, PHP и PowerShell, журналы выполнения с прокруткой, отчёты о запусках, права доступа на уровне пользователей и исполнителей, а также аудит действий. Обмен данными между планировщиком и исполнителями шифруется, а OpenAPI на основе REST позволяет интегрировать сервисы, написанные на других языках.
Ключевые возможности
- 01Веб-консоль для создания, запуска, остановки и редактирования задач без повторного развёртывания.
- 02Триггеры Cron, с фиксированным интервалом и задержкой, через API, вручную, а также зависимости между родительскими и дочерними задачами.
- 03Шардированные broadcast-задачи и стратегии маршрутизации, включая round robin, consistent hashing и failover.
- 04Таймауты задач, повторные попытки при сбоях и уведомления по электронной почте с точкой расширения для других каналов.
- 05GLUE web IDE для онлайн-запуска скриптов и кода с историей версий.
- 06Не зависящий от языка RESTful OpenAPI для интеграции исполнителей, написанных на других языках.
Сценарии использования
- Запуск задач синхронизации данных или расчёта взаиморасчётов по расписанию в кластере Java-сервисов.
- Разделение крупной пакетной задачи на шарды для параллельного выполнения на нескольких узлах-исполнителях.
- Запуск скриптов обслуживания на shell или Python по расписанию с централизованными журналами и уведомлениями.
- Замена разрозненных cron-задач на нескольких серверах единой консолью планирования с мониторингом.
Быстрый старт
- 1
Клонируйте репозиторий с GitHub
- 2
Инициализируйте базу данных с помощью SQL-скрипта из репозитория
- 3
Запустите консоль администратора с помощью Docker
docker pull xuxueli/xxl-job-admin
Что важно знать
- Распространяется по лицензии GPL-3.0 — лицензии с авторским левом, которая требует публиковать производные работы с открытым исходным кодом на тех же условиях.
- Требуются Java-бэкенд и настройка базы данных, поэтому для самостоятельного хостинга потребуется приложить некоторые усилия.
Темы
Частые вопросы
- Что такое xxl-job?
- Распределённая платформа планирования задач с веб-консолью, поддержкой Cron и фиксированных интервалов, шардированных broadcast-задач, failover и повторных попыток. XXL-JOB — распределённая платформа планирования задач для Java-приложений. Задачи создают, запускают, останавливают и отслеживают в веб-консоли, а исполнители выполняют их логику в одном или нескольких рабочих процессах, зарегистрированных в центральном планировщике. Планировщик рассчитан на работу в кластере; исполнители также можно развернуть в кластере, чтобы обеспечить высокую доступность выполнения задач.
- xxl-job можно использовать бесплатно? Какая у него лицензия?
- xxl-job распространяется с открытым исходным кодом под лицензией GPL-3.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- xxl-job всё ещё поддерживается?
- Активно поддерживается. Последний коммит в xxl-job — 9 окт. 2026 г..
- Для чего можно использовать xxl-job?
- Запуск задач синхронизации данных или расчёта взаиморасчётов по расписанию в кластере Java-сервисов. Разделение крупной пакетной задачи на шарды для параллельного выполнения на нескольких узлах-исполнителях. Запуск скриптов обслуживания на shell или Python по расписанию с централизованными журналами и уведомлениями. Замена разрозненных cron-задач на нескольких серверах единой консолью планирования с мониторингом.
- Как установить xxl-job?
- Клонируйте репозиторий с GitHub Инициализируйте базу данных с помощью SQL-скрипта из репозитория Запустите консоль администратора с помощью Docker: docker pull xuxueli/xxl-job-admin
- Где скачать xxl-job?
- Исходный код и инструкции по установке — на GitHub: https://github.com/xuxueli/xxl-job
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Самостоятельно размещаемый оркестратор рабочих процессов: запускает существующие скрипты, SSH-команды и контейнеры по декларативным YAML-файлам, поставляется одним бинарным файлом и не требует базы данных.
Терминальная панель на Textual для создания, редактирования, приостановки и мониторинга cron-задач на локальных машинах и удалённых серверах по SSH.
Java-клиент для Valkey и Redis с распределёнными коллекциями, блокировками, очередями и сервисами поверх базовых команд.
Open-source-платформа на TypeScript для создания и развёртывания долгоживущих AI-агентов и фоновых процессов с повторами, очередями и мониторингом.
Мнение-ориентированный Java-фреймворк для создания готовых к эксплуатации приложений и сервисов на Spring с минимальной настройкой.