Repolode
xuxueli

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. 1

    Клонируйте репозиторий с GitHub

  2. 2

    Инициализируйте базу данных с помощью SQL-скрипта из репозитория

  3. 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-файлам, поставляется одним бинарным файлом и не требует базы данных.

4,4 тыс.378GoGPL-3.0Обновлён 3 дня назад

Терминальная панель на Textual для создания, редактирования, приостановки и мониторинга cron-задач на локальных машинах и удалённых серверах по SSH.

1,5 тыс.61PythonApache-2.0Обновлён 27 дней назад