Sobre o projeto

XXL-JOB é um framework de agendamento de tarefas distribuídas, com o objetivo central de desenvolvimento rápido, aprendizado simples, leveza e fácil extensibilidade. Ele adota um design de agendamento centralizado, onde o centro de agendamento suporta implantação em cluster para garantir alta disponibilidade, e os executores também suportam implantação em cluster e escalonamento elástico. As principais capacidades incluem: operações CRUD de tarefas através de uma página web; suporte a múltiplas estratégias de disparo como Cron, intervalo fixo, atraso fixo, evento de API, disparo manual e tarefas pai-filho; oferece estratégias de expiração de agendamento como ignorar e compensação imediata, além de estratégias de tratamento de bloqueio como serialização em máquina única, descarte de agendamentos subsequentes e substituição de agendamentos anteriores. As tarefas suportam controle de tempo limite, repetição em caso de falha e alertas de falha como e-mail. Em cenários de cluster de executores, o XXL-JOB fornece estratégias de roteamento como primeiro, último, round robin, aleatório, hash consistente, menos frequentemente usado, menos recentemente usado, failover e busy transfer, além de suportar tarefas de broadcast fragmentado e fragmentação dinâmica. A comunicação entre o centro de agendamento e os executores é feita via OpenAPI, independente de linguagem, suportando tarefas de script em Shell, Python, NodeJS, PHP, PowerShell, etc., e também oferece um Web IDE (GLUE) para desenvolvimento e publicação online de código de tarefas. A plataforma ainda inclui monitoramento de progresso de tarefas, logs Rolling em tempo real, relatórios de execução, gerenciamento de usuários e controle de permissões por dimensão de executor, logs de auditoria, parada graciosa, criptografia de dados, internacionalização e imagem oficial Docker. Versões recentes adicionaram executores de IA e múltiplos Handlers de tarefas de IA, que podem ser integrados com spring-ai, ollama, openclaw, dify, entre outros. O XXL-JOB já foi utilizado por muitas empresas em ambientes de produção, cobrindo cenários como e-commerce, O2O e processamento de big data. O projeto é licenciado sob GPLv3.