Este artigo é um artigo espelhado de tradução automática, por favor clique aqui para ir para o artigo original.

Vista: 22839|Resposta: 0

[Fonte] 【Prática Prática】XXL-JOB Tutorial de Uso e Desenvolvimento de Plataformas de Agendamento de Tarefas Distribuídas

[Copiar link]
Publicado em 07/09/2021 16:35:50 | | | |
XXL-JOB é uma plataforma distribuída de agendamento de tarefas com objetivos centrais de desenvolvimento rápido, aprendizado simples, leve e fácil de escalar. Agora é open source e conectado às linhas de produtos online de muitas empresas, e está pronto para ser usado de fábrica.
Revisar:

.net/c# Quartz.NET Agendamento Remoto de Tarefas [com código-fonte]
https://www.itsvse.com/thread-4729-1-1.html

Quartz CronTrigger é a descrição de configuração mais completa
https://www.itsvse.com/thread-4573-1-1.html

Quartz.net Tutorial simples de configuração
https://www.itsvse.com/thread-4297-1-1.html

asp.net MVC utiliza plugins Quartz.Net para executar tarefas agendadas
https://www.itsvse.com/thread-3308-1-1.html

Endereço do GitHub:O login do hiperlink está visível.

Endereço oficial do documento:O login do hiperlink está visível.

Primeiro, baixe o código-fonte, endereço:O login do hiperlink está visível.(Baixar via gitee doméstico)

Criar estruturas de banco de dados e tabelas

Endereço do arquivo de script:/xxl-job/doc/db/tables_xxl_job.sql, importar o script para o banco de dados MySQL, e o script automaticamente determinará se há um banco de dados xxl_job e criará automaticamente um banco de dados xxl_job, criará a estrutura de tabela correspondente e inserirá os dados iniciais. Como mostrado abaixo:


Abra o projeto

Use o Eclipse para importar o projeto Maven e compile com o Maven.

A estrutura do código-fonte é a seguinte:

xxl-job-admin: Centro de despacho
xxl-job-core: Dependências comuns
xxl-job-executor-samples: Exemplo de Executor Exemplo (selecione a versão apropriada do executor, você pode usá-lo diretamente, ou pode consultá-lo e converter um projeto existente em um executor)
:xxl-job-executor-sample-springboot:Versão Springboot, através do executor de gerenciamento Springboot, este método é recomendado;
:xxl-job-executor-sample-frameless: versão sem quadro;




Administre o centro de agendamento xxl-job-admin


xxl-job-admin para configurar a conexão com o banco de dados mysql

Abra o arquivo de configuração /xxl-job/xxl-job-admin/src/main/resources/application.properties e configure da seguinte forma:


Abra o arquivo XxlJobAdminApplication.java e comece o projeto.

Acesse a interface de gerenciamento web no seguinte endereço:http://127.0.0.1:8080/xxl-job-admin, como mostrado na figura abaixo:



Conta de login padrão "Admin/123456




Execute o projeto do atuador

Encontre o projeto xxl-job-executor-sample-springboot e modifique o arquivo de configuração application.properties da seguinte forma:

Explicação oficial detalhada da configuração dos atuadores:

### Implantação e Endereço do Centro de Despacho [Opcional]: Se houver múltiplos endereços no cluster do centro de despacho, eles são separados por vírgulas. O executor usará esse endereço para registrar o "Executor Heartbeat" e "Chamar de volta o resultado da tarefa". Se estiver vazio, o registro automático é desativado.
xxl.job.admin.addresses=http://127.0.0.1:8080/xxl-job-admin
### Token de comunicação com atuador [opcional]: ativado quando não está vazio;
xxl.job.accessToken=
### Nome da Aplicação do Atuador [Opcional]: A base de agrupamento para o registro do batimento cardíaco do atuador; Se estiver vazio, desative o auto-registro
xxl.job.executor.appname=xxl-job-executor-sample
### Registro do Executor [Opcional]: Use esta configuração como endereço de registro primeiro e use o serviço embarcado "IP:PORT" como endereço de registro quando estiver vazio. Isso oferece suporte mais flexível para executores do tipo container, IP dinâmico e problemas de portas de mapeamento dinâmico.
xxl.job.executor.address=
### IP do executor [Opcional]: O padrão está vazio para obter automaticamente o IP, e o IP especificado pode ser definido manualmente quando a NIC for multi-placa, que não será vinculada ao host e é útil apenas para comunicação. Informações de endereço para "Registro do Executor" e "Solicitação e Tarefa de Disparo do Centro de Despacho";
xxl.job.executor.ip=
### Número da porta do atuador [opcional]: Se for menor ou igual a 0, será obtido automaticamente; A porta padrão é 9999, então ao implantar múltiplos atuadores em uma única máquina, preste atenção na configuração de diferentes portas de atuadores.
xxl.job.executor.port=9999
### Executor Run Log File Storage Disk Path [Opcional]: Você precisa ter permissões de leitura e gravação nesse caminho; Se estiver vazio, o caminho padrão é usado;
xxl.job.executor.logpath=/data/applogs/xxl-job/jobhandler
### Número de dias para salvar o arquivo de log de gatilho [Opcional]: Logs expirados são automaticamente limpos, e o valor limite é maior ou igual a 3. caso contrário, como -1, desative a função de limpeza automática;
xxl.job.executor.logretentiondays=30


Abra a plataforma de gerenciamento do Centro de Despacho, clique no menu Gerenciamento de Agendadores, adicione um agendador e preencha o nome do app: xxl-job-executor-itsvse

Abra o arquivo XxlJobExecutorApplication.java e tente iniciar o executor conforme mostrado abaixo:



O projeto xxl-job-executor-sample-springboot abrirá duas portas, a porta 8081 é para serviços de interface externa e a porta 9999 é para chamadas xxl-job-admin (usada para comunicação com a plataforma de agendamento).




Crie uma nova tarefa de agendamento

Executor Selecione o atuador que acabamos de criar, o Cron executa uma vez a cada 10 segundos (*/10 * * * * ?), selecione "BEAN" no modo de execução, preencha o JobHandler: demoJobHandler e preencha as outras opções quando quiser, só salve.



Inicie a tarefa no extremo direito da lista e depois clique em Registro de Consultas, como mostrado na figura a seguir:




Através dos logs da plataforma do centro de despacho e do executor, você pode ver que a tarefa foi executada com sucesso, e a tarefa é executada a cada 10 segundos.

(Fim)





Anterior:Nginx implementa a função de adicionar marca d'água às imagens
Próximo:Sistema de arquivos Overlay Linux no Docker
Disclaimer:
Todo software, material de programação ou artigos publicados pela Code Farmer Network são apenas para fins de aprendizado e pesquisa; O conteúdo acima não deve ser usado para fins comerciais ou ilegais, caso contrário, os usuários terão todas as consequências. As informações deste site vêm da Internet, e disputas de direitos autorais não têm nada a ver com este site. Você deve deletar completamente o conteúdo acima do seu computador em até 24 horas após o download. Se você gosta do programa, por favor, apoie um software genuíno, compre o registro e obtenha serviços genuínos melhores. Se houver qualquer infração, por favor, entre em contato conosco por e-mail.

Mail To:help@itsvse.com