Repolode
xuxueli

xuxueli/xxl-job

Plataforma distribuída de agendamento de tarefas com console web, suporte a gatilhos Cron e por intervalo fixo, jobs de broadcast particionados, failover e novas tentativas.

Estrelas
30,622
Forks
11,494
Issues abertas
72
Último commit
há 13 dias

O que é?

XXL-JOB é uma plataforma distribuída de agendamento de tarefas para aplicações Java. Os jobs são criados, iniciados, interrompidos e monitorados em um console web, enquanto os executores rodam a lógica dos jobs em um ou mais processos worker que se registram em um agendador central. O agendador foi projetado para operar em cluster, e os executores também podem ser implantados em clusters para garantir alta disponibilidade na execução dos jobs.

A plataforma atende às necessidades comuns de agendamento: gatilhos Cron, por taxa fixa e por atraso fixo, gatilhos via API e manuais, além de dependências entre jobs pai e filho. A execução é controlada por estratégias de roteamento como round robin, aleatória, hash consistente e failover, além de jobs de broadcast particionados que rodam em todos os nós executores. Jobs com falha podem ser tentados novamente, jobs que excedem o tempo limite são interrompidos e alertas de falha são enviados por e-mail, com um ponto de extensão para outros canais.

Os recursos operacionais incluem edição de jobs online por meio de uma IDE web GLUE, que oferece suporte a scripts em shell, Python, Node.js, PHP e PowerShell; logs de execução contínuos; relatórios de execução; permissões por usuário e por executor; e logs de auditoria. A comunicação entre o agendador e os executores é criptografada, e uma OpenAPI baseada em REST permite a integração de serviços escritos em outras linguagens.

Recursos principais

  • 01Console web para criar, iniciar, interromper e editar jobs sem precisar fazer novo deploy.
  • 02Gatilhos Cron, por intervalo fixo, por atraso fixo, via API, manuais e com dependência entre jobs pai e filho.
  • 03Jobs de broadcast particionados e estratégias de roteamento que incluem round robin, hash consistente e failover.
  • 04Limites de tempo para jobs, novas tentativas em caso de falha e alertas por e-mail, com um ponto de extensão para outros canais.
  • 05IDE web GLUE para jobs de scripts e código editados online, com histórico de versões.
  • 06OpenAPI REST independente de linguagem para integrar executores escritos em outras linguagens.

Casos de uso

  • Executar jobs agendados de sincronização de dados ou liquidação em um cluster de serviços Java.
  • Dividir um grande processamento em lote em partições executadas em paralelo por vários nós executores.
  • Agendar a execução de scripts de manutenção em shell ou Python, com logs e alertas centralizados.
  • Substituir jobs cron espalhados por vários servidores por um único console de agendamento monitorado.

Início rápido

  1. 1

    Clone o repositório do GitHub

  2. 2

    Inicialize o banco de dados com o script SQL do repositório

  3. 3

    Execute o console de administração com Docker

    docker pull xuxueli/xxl-job-admin

Antes de usar

  • Licenciado sob GPL-3.0, uma licença copyleft que exige que trabalhos derivados sejam disponibilizados como código aberto sob os mesmos termos.
  • Requer um backend Java e a configuração de um banco de dados, então hospedar por conta própria exige algum esforço.

Tópicos

Perguntas frequentes

O que é xxl-job?
Plataforma distribuída de agendamento de tarefas com console web, suporte a gatilhos Cron e por intervalo fixo, jobs de broadcast particionados, failover e novas tentativas. XXL-JOB é uma plataforma distribuída de agendamento de tarefas para aplicações Java. Os jobs são criados, iniciados, interrompidos e monitorados em um console web, enquanto os executores rodam a lógica dos jobs em um ou mais processos worker que se registram em um agendador central. O agendador foi projetado para operar em cluster, e os executores também podem ser implantados em clusters para garantir alta disponibilidade na execução dos jobs.
xxl-job é gratuito? Qual é a licença?
xxl-job é open source sob a licença GPL-3.0. Confira os termos da licença antes de usá-lo em produtos comerciais.
xxl-job ainda é mantido?
Manutenção ativa. O último commit de xxl-job foi em 9 de out. de 2026.
Para que posso usar xxl-job?
Executar jobs agendados de sincronização de dados ou liquidação em um cluster de serviços Java. Dividir um grande processamento em lote em partições executadas em paralelo por vários nós executores. Agendar a execução de scripts de manutenção em shell ou Python, com logs e alertas centralizados. Substituir jobs cron espalhados por vários servidores por um único console de agendamento monitorado.
Como instalar xxl-job?
Clone o repositório do GitHub Inicialize o banco de dados com o script SQL do repositório Execute o console de administração com Docker: docker pull xuxueli/xxl-job-admin
Onde consigo xxl-job?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/xuxueli/xxl-job

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados