Эта статья является зеркальной статьёй машинного перевода, пожалуйста, нажмите здесь, чтобы перейти к оригиналу.

Вид: 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

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 рекомендуется этот метод;
: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 [Optional]: Основа группировки для регистрации сердцебиения актуатора; Если он пустой, отключите авторегистрацию
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 Запустить путь к диску хранения журналов [Опционально]: На этом пути должны быть права на чтение и запись; Если он пуст, используется путь по умолчанию;
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