Тази статия е огледална статия за машинен превод, моля, кликнете тук, за да преминете към оригиналната статия.

Изглед: 22839|Отговор: 0

[Източник] 【Практическа практика】XXL-JOB Разпределена платформа за планиране на задачи – урок за използване и разработка

[Копирай линк]
Публикувано в 7.09.2021 г. 16:35:50 ч. | | | |
XXL-JOB е разпределена платформа за планиране на задачи с основни цели за дизайн: бързо развитие, лесно обучение, лека и лесна за мащабиране. Сега е с отворен код и е свързан с онлайн продуктовите линии на много компании, като е готов за използване веднага след кутията.
Преглед:

.net/c# Quartz.NET Планиране на отдалечени задачи [с изходен код]
https://www.itsvse.com/thread-4729-1-1.html

Quartz CronTrigger е най-пълното описание на конфигурацията
https://www.itsvse.com/thread-4573-1-1.html

Quartz.net Прост урок за конфигурация
https://www.itsvse.com/thread-4297-1-1.html

asp.net MVC използва Quartz.Net плъгини за изпълнение на планирани задачи
https://www.itsvse.com/thread-3308-1-1.html

GitHub адрес:Входът към хиперлинк е видим.

Официален адрес на документа:Входът към хиперлинк е видим.

Първо, изтеглете изходния код, адрес:Входът към хиперлинк е видим.(Изтеглете чрез домашен gitee)

Създаване на структури от бази данни и таблици

Адрес на скриптовия файл:/xxl-job/doc/db/tables_xxl_job.sql, импортирайте скрипта в MySQL базата данни и скриптът автоматично ще определи дали има xxl_job база данни и автоматично ще създаде xxl_job база данни, ще създаде съответната структура на таблицата и ще вмъкне началните данни. Както е показано по-долу:


Отвори проекта

Използвайте Eclipse, за да импортирате проекта Maven и да го компилирате с Maven.

Структурата на изходния код е следната:

xxl-job-admin: Диспечърски център
xxl-job-core: Общи зависимости
xxl-job-executor-samples: Пример за Executor (изберете подходящата версия на изпълнителя, можете да я използвате директно или да се обърнете към него и да конвертирате съществуващ проект в изпълнител)
:xxl-job-executor-sample-springboot:Springboot версия, чрез Springboot management executor, този метод се препоръчва;
:xxl-job-executor-sample-frameless: некадрирана версия;




Стартирайте центъра за планиране на xxl-job-admin


xxl-job-admin за конфигуриране на MySQL базата данни

Отворете конфигурационния файл /xxl-job/xxl-job-admin/src/main/resources/application.properties и го конфигурирайте по следния начин:


Отвори XxlJobAdminApplication.java файла и стартирай проекта.

Достъп до уеб интерфейса за управление на следния адрес:http://127.0.0.1:8080/xxl-job-admin, както е показано на фигурата по-долу:



Стандартен акаунт за вход "Администратор/123456




Стартиране на проекта за задвижване

Намерете проекта xxl-job-executor-sample-springboot и променете конфигурационния файл application.properties по следния начин:

Официално подробно обяснение на конфигурацията на задвижващия механизъм:

### Разгръщане и адресиране на диспечерски център [По желание]: Ако има няколко адреса в клъстера на диспеч центъра, те са разделени със запетаи. Изпълнителят ще използва този адрес, за да регистрира "Сърдечен ритъм на изпълнителя" и "Извикване обратно на резултата от задачата". Ако е празен, автоматичната регистрация е изключена.
xxl.job.admin.addresses=http://127.0.0.1:8080/xxl-job-admin
### Актуаторен комуникационен токен [по желание]: активиран, когато не е празен;
xxl.job.accessToken=
### Actuator AppName [По избор]: Основата на групиране за регистрация на сърдечния ритъм на актуатор; Ако е празен, изключи автоматичното записване
xxl.job.executor.appname=xxl-job-executor-sample
### Регистрация на изпълнител [По желание]: Използвайте тази конфигурация първо като адрес за регистрация и използвайте вградената услуга "IP:PORT" като адрес за регистрация, когато е празна. Това осигурява по-гъвкава поддръжка за изпълнители на типове контейнери, динамичен IP и проблеми с динамично картографиране на портове.
xxl.job.executor.address=
### IP на изпълнителя [По желание]: По подразбиране е празен за автоматично получаване на IP адреса, а посоченият IP може да се зададе ръчно, когато NIC е мулти-карта, което няма да бъде свързано с хоста и е полезно само за комуникация. Адресна информация за "Регистрация на изпълнител" и "Задача за заявка и задействане на диспечерски център";
xxl.job.executor.ip=
### Номер на порт на актуатора [по избор]: Ако е по-малък или равен на 0, той ще бъде получен автоматично; По подразбиране портът е 9999, така че при разгръщане на няколко актуатора на една машина, обърнете внимание на конфигурирането на различни портове.
xxl.job.executor.port=9999
### Executor Run Log File Storage Disk Path [По желание]: Трябва да имате права за четене и запис на този път; Ако е празен, се използва стандартният път;
xxl.job.executor.logpath=/data/applogs/xxl-job/jobhandler
### Брой дни за запазване на тригер лог файла [По желание]: Изтеклите логове се почистват автоматично, а лимитната стойност е по-голяма или равна на 3. в противен случай, например -1, изключи функцията за автоматично почистване;
xxl.job.executor.logretentiondays=30


Отворете платформата за управление на Dispatch Center, кликнете върху менюто Scheduler Management, добавете планировчик и попълнете името на приложението: xxl-job-executor-itsvse

Отворете XxlJobExecutorApplication.java файла и опитайте да стартирате изпълнителя, както е показано по-долу:



Проектът xxl-job-executor-sample-springboot ще отвори два порта – порт 8081 е за външни интерфейсни услуги, а порт 9999 е за xxl-job-admin calls (използван за комуникация с платформата за планиране).




Създайте нова задача за планиране

Executor Изберете актуатора, който току-що създадохме, Cron ще се изпълни веднъж на 10 секунди (*/10 * * * * ?), изберете "BEAN" в режима на работене, попълнете JobHandleler: demoJobHandler и попълнете другите опции по желание, просто го запазите.



Започнете задачата от най-дясната страна на списъка и след това кликнете върху Запис на заявки, както е показано на следващата фигура:




Чрез логовете на платформата на диспечерския център и изпълнителя можете да видите, че задачата е успешно изпълнена и се изпълнява веднъж на всеки 10 секунди.

(Край)





Предишен:Nginx реализира функцията за добавяне на воден знак към изображенията
Следващ:Linux Overlay файлова система в Docker
Отричане:
Целият софтуер, програмни материали или статии, публикувани от Code Farmer Network, са само за учебни и изследователски цели; Горното съдържание не трябва да се използва за търговски или незаконни цели, в противен случай потребителите ще понесат всички последствия. Информацията на този сайт идва от интернет, а споровете за авторски права нямат нищо общо с този сайт. Трябва напълно да изтриете горното съдържание от компютъра си в рамките на 24 часа след изтеглянето. Ако ви харесва програмата, моля, подкрепете оригинален софтуер, купете регистрация и получете по-добри услуги. Ако има нарушение, моля, свържете се с нас по имейл.

Mail To:help@itsvse.com