Ця стаття є дзеркальною статтею машинного перекладу, будь ласка, натисніть тут, щоб перейти до оригінальної статті.

Вид: 22839|Відповідь: 0

[Джерело] 【Практична практика】XXL-JOB Використання та розробка платформи розподіленого планування завдань

[Копіювати посилання]
Опубліковано 07.09.2021 16:35:50 | | | |
XXL-JOB — це розподілена платформа для планування завдань із основними цілями дизайну: швидка розробка, просте навчання, легкість і легкість масштабування. Зараз він має відкритий код, підключений до онлайн-лінійок продуктів багатьох компаній і готовий до використання з коробки.
Огляд:

.net/c# Quartz.NET Віддалене планування завдань [з вихідним кодом]
https://www.itsvse.com/thread-4729-1-1.html

Кварц 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: приклад виконавця (виберіть відповідну версію виконавця, ви можете використати її безпосередньо, або звернутися до нього і конвертувати існуючий проєкт у виконавця)
:xxl-job-executor-sample-springboot:Springboot версії, через виконавця управління Springboot рекомендується цей метод;
:xxl-job-executor-sample-frameless: версія без кадру;




Запустіть центр планування xxl-job-admin


xxl-job-admin для налаштування з'єднання бази даних mysql

Відкрийте конфігураційний файл /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 можна встановити вручну, коли мережевий сет має багато карт, що не буде прив'язано до хоста і корисне лише для спілкування. Адресна інформація для «Реєстрація виконавця» та «Запит і запуск завдання диспетчерського центру»;
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


Відкрийте платформу управління Диспетчерським центром, натисніть меню Scheduler Management, додайте планувальник і заповніть ім'я додатку: xxl-job-executor-itsvse

Відкрийте XxlJobExecutorApplication.java файл і спробуйте запустити виконавця, як показано нижче:



Проєкт xxl-job-executor-sample-springboot відкриє два порти: порт 8081 призначений для зовнішніх інтерфейсних сервісів, а порт 9999 — для викликів xxl-job-admin (використовуються для зв'язку з платформою планування).




Створіть нове завдання для планування

Executor Виберіть виконавчий актуатор, який ми щойно створили, Cron виконається раз за 10 секунд (*/10 * * * * ?), виберіть "BEAN" у режимі запуску, заповніть JobHandler: demoJobHandler і заповніть інші опції на свій розсуд, просто збережіть його.



Почніть завдання з крайнього правого боку списку, а потім натисніть «Журнал запитів», як показано на наступному рисунку:




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

(Кінець)





Попередній:Nginx реалізує функцію додавання водяних знаків до зображень
Наступний:Файлова система Linux Overlay у Docker
Застереження:
Усе програмне забезпечення, програмні матеріали або статті, опубліковані Code Farmer Network, призначені лише для навчання та досліджень; Вищезазначений контент не повинен використовуватися в комерційних чи незаконних цілях, інакше користувачі несуть усі наслідки. Інформація на цьому сайті надходить з Інтернету, і спори щодо авторських прав не мають до цього сайту. Ви повинні повністю видалити вищезазначений контент зі свого комп'ютера протягом 24 годин після завантаження. Якщо вам подобається програма, будь ласка, підтримуйте справжнє програмне забезпечення, купуйте реєстрацію та отримайте кращі справжні послуги. Якщо є будь-яке порушення, будь ласка, зв'яжіться з нами електронною поштою.

Mail To:help@itsvse.com