Только что выпустили систему визуального управления горячими задачами

Java задняя часть
Только что выпустили систему визуального управления горячими задачами

Запланированные задачи также являются обычным требованием в нашей повседневной разработке, и на рынке есть много зрелых фреймворков:

  • quartz
  • elastic-job
  • xxl-job
  • ...

Но друзья знают, что на самом деле наша среда Spring также предоставляет соответствующие временные задачи, эта временная задача проходит@EnableSchedulingАннотация включена. Song Ge также написал статью, чтобы поделиться с вами основным использованием этой аннотации:

Однако предыдущие запланированные задачи были исправлены, записаны заранее и не могли быть динамически настроены.Два дня назад маленький друг спросил Сонг Гэ, как реализовать динамическую настройку запланированных задач?

Если эта штука основана на фреймворке, таком как xxl-job, на самом деле это сделать проще, но это идет с Spring.@EnableSchedulingНа самом деле аннотацию можно реализовать, и это несложно. Сонг Гэ написал ее, основываясь на этом рвении. Сегодня я расскажу вам об общем использовании, а затем напишу статью, чтобы представить принцип реализации.

Проект с открытым исходным кодом, адрес проекта:

способ есть

  1. Клонируйте проект:git clone https://github.com/lenve/scheduling.git.
  2. Создайте локальную базу данных с именемschedulingбиблиотека.
  3. Изменить файл конфигурацииsrc/main/resources/application.yaml, в основном для изменения имени пользователя и адреса подключения к базе данных.
  4. Стартовый проект.
  5. доступ через браузерhttp://localhost:8080, вы можете увидеть следующую страницу:

Указывает, что запуск прошел успешно.

Функции

  1. При запуске проекта он автоматически загрузит из базы данных запланированное задание со статусом 1 и начнет его выполнение, 1 означает запланированное задание в открытом состоянии, а 0 означает запланированное задание в отключенном состоянии.
  2. Нажмите на страницуДобавить работукнопку, чтобы добавить новое запланированное задание.Если имя компонента, имя метода и параметры метода нового задания совпадают с существующими записями, оно будет рассматриваться как дублирующее задание, и дублирующее задание не будет добавлено.

Страница добавления вакансий выглядит следующим образом:

Здесь задействовано несколько параметров, значения которых следующие:

  • Имя компонента: это имя компонента, внедренного в Spring в проекте.В тестовом коде оно начинается сorg/javaboy/scheduling02/service/SchedulingTaskDemo.javaНапример.
  • Имя метода: имя метода в bean-компоненте в параметре 1.
  • Параметры метода: параметры метода в параметре 2.
  • Cron-выражение: cron-выражение запланированной задачи.
  • Статус задания: как включено, так и отключено. Если он включен, запланированная задача начнет выполняться после завершения добавления, если отключена, то просто добавит запись в базу данных.

Добавление задания успешно выполняется следующим образом:

Сообщения об ошибках при добавлении задания выглядят следующим образом:

  1. Нажмите «Редактировать задание», чтобы изменить различные данные задания:

Это станет эффективным сразу после модификации.

  1. Щелкните задание для удаления, и вы сможете удалить существующее задание. Если удаленное задание выполняется, сначала остановите задание, а затем удалите его.
  2. Нажатие кнопки переключения в списке также переключает статус задания.

стек технологий

  • SpringBoot
  • Jpa
  • MySQL
  • Spring Job
  • Vue

разное

Это обучающая демонстрация, а не законченный проект. Songge опубликует статью, чтобы позже поделиться с вами конкретными идеями реализации.

Хорошо, так много нужно сказать.

Заинтересованные друзья поспешите испытать это: