Acest articol este un articol oglindă al traducerii automate, vă rugăm să faceți clic aici pentru a sări la articolul original.

Vedere: 22839|Răspunde: 0

[Sursă] 【Practică practică】XXL-JOB Tutorial pentru utilizarea și dezvoltarea platformei distribuite de programare a sarcinilor

[Copiază linkul]
Postat pe 07.09.2021 16:35:50 | | | |
XXL-JOB este o platformă distribuită de programare a sarcinilor, având ca obiective de bază dezvoltare rapidă, învățare simplă, ușoară și ușor de scalat. Acum este open source și conectat la liniile de produse online ale multor companii și este gata de folosit din fabrică.
Recenzie:

.net/c# Quartz.NET Programarea la distanță a sarcinilor [cu cod sursă]
https://www.itsvse.com/thread-4729-1-1.html

Quartz CronTrigger este cea mai completă descriere a configurației
https://www.itsvse.com/thread-4573-1-1.html

Quartz.net Tutorial simplu de configurare
https://www.itsvse.com/thread-4297-1-1.html

asp.net MVC utilizează pluginuri Quartz.Net pentru a executa sarcini programate
https://www.itsvse.com/thread-3308-1-1.html

Adresă GitHub:Autentificarea cu hyperlink este vizibilă.

Adresa documentului oficial:Autentificarea cu hyperlink este vizibilă.

Mai întâi, descarcă codul sursă, adresa:Autentificarea cu hyperlink este vizibilă.(Descărcare prin intermediul site-ului intern)

Creează structuri de baze de date și tabele

Adresa fișierului script:/xxl-job/doc/db/tables_xxl_job.sql, importă scriptul în baza de date MySQL, iar scriptul va determina automat dacă există o bază de date xxl_job și va crea automat o bază de date xxl_job, va crea structura corespunzătoare a tabelului și va introduce datele inițiale. Așa cum se arată mai jos:


Deschide proiectul

Folosește Eclipse pentru a importa proiectul Maven și compila-l împreună cu Maven.

Structura codului sursă este următoarea:

xxl-job-admin: Centrul de dispecerat
xxl-job-core: Dependențe comune
xxl-job-executor-samples: Exemplu de exemplu de executor (selectați versiunea corespunzătoare a executorului, îl puteți folosi direct sau puteți face referire la el și converti un proiect existent într-un executor)
:xxl-job-executor-sample-springboot:Versiunea Springboot, prin executorul de management Springboot, se recomandă această metodă;
:xxl-job-executor-sample-frameless: versiunea neîncadrată;




Administrează centrul de programare xxl-job-admin


xxl-job-admin pentru configurarea conexiunii la baza de date mysql

Deschide fișierul de configurare /xxl-job/xxl-job-admin/src/main/resources/application.properties și configurează-l astfel:


Deschide fișierul XxlJobAdminApplication.java și începe proiectul.

Accesați interfața de management web la următoarea adresă:http://127.0.0.1:8080/xxl-job-admin, așa cum se arată în figura de mai jos:



Cont de autentificare implicit "admin/123456




Rulează proiectul actuatorului

Găsește proiectul xxl-job-executor-sample-springboot și modifică fișierul de configurare application.properties după cum urmează:

Explicație oficială detaliată a configurației actuatorului:

### Implementarea și adresa centrului de dispecerizare [Opțional]: Dacă există mai multe adrese în clusterul centrului de dispecerat, ele sunt separate prin virgule. Executorul va folosi această adresă pentru a înregistra "Bătăile inimii executorului" și "Apelarea înapoi a rezultatului sarcinii". Dacă este gol, înregistrarea automată este dezactivată.
xxl.job.admin.addresses=http://127.0.0.1:8080/xxl-job-admin
### Token de comunicare cu actuator [opțional]: activat când nu este gol;
xxl.job.accessToken=
### Actuator AppName [Opțional]: Baza de grupare pentru înregistrarea bătăilor de inimă a actuatorului; Dacă este gol, dezactivează înscrierea automată
xxl.job.executor.appname=xxl-job-executor-sample
### Executor Registration [Opțional]: Folosește această configurație ca adresă de înregistrare mai întâi și folosește serviciul încorporat "IP:PORT" ca adresă de înregistrare când este gol. Aceasta oferă suport mai flexibil pentru executorii de tip container, IP dinamic și probleme de porturi cu mapare dinamică.
xxl.job.executor.address=
### IP executor [Opțional]: Implicitul este gol pentru a obține automat IP-ul, iar IP-ul specificat poate fi setat manual când NIC-ul este multi-card, care nu va fi legat de gazdă și este util doar pentru comunicare. Informații de adresă pentru "Executer Registration" și "Dispatch Center Request and Trigger Task";
xxl.job.executor.ip=
### Numărul portului actuator [opțional]: Dacă este mai mic sau egal cu 0, va fi obținut automat; Portul implicit este 9999, așa că atunci când implementezi mai multe actuatoare pe o singură mașină, fii atent la configurarea diferitelor porturi de actuatoare.
xxl.job.executor.port=9999
### Executor Run Log File Storage Disk Path [Opțional]: Trebuie să ai permisiuni de citire și scriere pe această cale; Dacă este goală, se folosește calea implicită;
xxl.job.executor.logpath=/data/applogs/xxl-job/jobhandler
### Numărul de zile pentru salvarea fișierului de log al declanșatorului [Opțional]: Jurnalele expirate sunt curățate automat, iar valoarea limită este mai mare sau egală cu 3. altfel, de exemplu -1, dezactivează funcția de curățare automată;
xxl.job.executor.logretentiondays=30


Deschide platforma de management Dispatch Center, apasă pe meniul Scheduler Management, adaugă un scheduler și completează numele aplicației: xxl-job-executor-itsvse

Deschide fișierul XxlJobExecutorApplication.java și încearcă să pornești executorul așa cum se arată mai jos:



Proiectul xxl-job-executor-sample-springboot va deschide două porturi, portul 8081 este pentru servicii externe de interfață, iar portul 9999 este pentru apelurile xxl-job-admin (folosite pentru a comunica cu platforma de programare).




Creează o nouă sarcină de programare

Executor Selectează actuatorul pe care tocmai l-am creat, Cron va rula o dată la 10 secunde (*/10 * * * * ?), selectează "BEAN" în modul de rulare, completează JobHandler: demoJobHandler și completează celelalte opțiuni după bunul plac, salvează-l.



Începe sarcina în partea dreaptă a listei, apoi apasă pe Jurnalul interogărilor, așa cum se arată în figura următoare:




Prin jurnalele platformei centrului de dispecerat și executorului, puteți vedea că sarcina este executată cu succes, iar sarcina este executată o dată la fiecare 10 secunde.

(Sfârșit)





Precedent:Nginx implementează funcția de a adăuga filigrană la imagini
Următor:Sistem de fișiere Linux Overlay în Docker
Disclaimer:
Tot software-ul, materialele de programare sau articolele publicate de Code Farmer Network sunt destinate exclusiv scopurilor de învățare și cercetare; Conținutul de mai sus nu va fi folosit în scopuri comerciale sau ilegale, altfel utilizatorii vor suporta toate consecințele. Informațiile de pe acest site provin de pe Internet, iar disputele privind drepturile de autor nu au legătură cu acest site. Trebuie să ștergi complet conținutul de mai sus de pe calculatorul tău în termen de 24 de ore de la descărcare. Dacă îți place programul, te rugăm să susții software-ul autentic, să cumperi înregistrarea și să primești servicii autentice mai bune. Dacă există vreo încălcare, vă rugăm să ne contactați prin e-mail.

Mail To:help@itsvse.com