Repolode
xuxueli

xuxueli/xxl-job

Cron 및 고정 간격 트리거, 샤딩 브로드캐스트 작업, 장애 조치와 재시도를 지원하는 웹 콘솔 기반 분산 작업 스케줄링 플랫폼입니다.

스타
30,622
포크
11,494
열린 이슈
72
마지막 커밋
13일 전

어떤 프로젝트인가요?

XXL-JOB은 Java 애플리케이션을 위한 분산 작업 스케줄링 플랫폼입니다. 웹 콘솔에서 작업을 생성하고 시작·중지·모니터링할 수 있으며, 작업 로직은 중앙 스케줄러에 등록된 하나 이상의 워커 프로세스에서 실행됩니다. 스케줄러는 클러스터로 운영하도록 설계되었고, 실행기도 클러스터로 배포해 작업 실행의 고가용성을 확보할 수 있습니다.

이 플랫폼은 Cron, 고정 속도 및 고정 지연 트리거, API 및 수동 트리거, 부모-자식 작업 종속성 등 일반적인 스케줄링 요구를 지원합니다. 라운드 로빈, 랜덤, 일관된 해싱, 장애 조치 등의 라우팅 전략으로 실행을 제어할 수 있고, 모든 실행기 노드에서 실행되는 샤딩 브로드캐스트 작업도 지원합니다. 실패한 작업은 재시도할 수 있고, 시간 초과된 작업은 중단되며, 이메일로 실패 알림을 보냅니다. 다른 채널을 추가할 수 있는 확장 지점도 제공합니다.

운영 기능으로는 shell, Python, Node.js, PHP, PowerShell 스크립트를 지원하는 GLUE 웹 IDE에서의 온라인 작업 편집, 순차 실행 로그, 실행 보고서, 사용자 및 실행기 단위 권한, 감사 로그가 있습니다. 스케줄러와 실행기 간 통신은 암호화되며, REST 기반 OpenAPI를 통해 다른 언어로 작성된 서비스도 연동할 수 있습니다.

핵심 기능

  • 01재배포 없이 작업을 생성·시작·중지·편집할 수 있는 웹 콘솔입니다.
  • 02Cron, 고정 간격, 고정 지연, API, 수동 및 부모-자식 작업 트리거를 지원합니다.
  • 03샤딩 브로드캐스트 작업과 라운드 로빈, 일관된 해싱, 장애 조치를 포함한 라우팅 전략을 지원합니다.
  • 04작업 시간 초과 처리, 실패 재시도, 다른 채널을 추가할 수 있는 확장 지점을 갖춘 이메일 알림을 지원합니다.
  • 05버전 이력을 제공하는 온라인 스크립트 및 코드 작업용 GLUE 웹 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 및 고정 간격 트리거, 샤딩 브로드캐스트 작업, 장애 조치와 재시도를 지원하는 웹 콘솔 기반 분산 작업 스케줄링 플랫폼입니다. XXL-JOB은 Java 애플리케이션을 위한 분산 작업 스케줄링 플랫폼입니다. 웹 콘솔에서 작업을 생성하고 시작·중지·모니터링할 수 있으며, 작업 로직은 중앙 스케줄러에 등록된 하나 이상의 워커 프로세스에서 실행됩니다. 스케줄러는 클러스터로 운영하도록 설계되었고, 실행기도 클러스터로 배포해 작업 실행의 고가용성을 확보할 수 있습니다.
xxl-job은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
xxl-job은(는) GPL-3.0 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
xxl-job은(는) 아직 유지보수되고 있나요?
활발히 유지보수 중. xxl-job의 마지막 커밋은 2026년 10월 9일입니다.
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를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.

관련 프로젝트