Оптимизируйте управление фоновыми заданиями с помощью JobRunr и Spring Boot

Руководство JobRunr и Spring Boot по планированию фоновых заданий

Упростите планирование фоновых заданий с помощью JobRunr и Spring Boot

JobRunr — это библиотека Java, упрощающая выполнение фоновых заданий в приложении Java. Он предоставляет простой и согласованный API для планирования, выполнения и управления заданиями в различных средах, включая веб-приложения и микросервисы. Он разработан, чтобы быть легким и простым в использовании, с минимальными настройками и настройками. Некоторые функции JobRunr включают поддержку планирования заданий на определенную дату и время, повторяющиеся задания, а также возможность управлять и отслеживать состояние заданий.

Кварц нуждается в замене?

JobRunr и Quartz — это библиотеки для планирования и запуска фоновых заданий в приложении Java. Однако у них есть некоторые ключевые отличия с точки зрения их дизайна, функциональности и простоты использования.

Одно из основных различий между JobRunr и Quartz заключается в том, что JobRunr построен на основе Quartz, поэтому он наследует все функции Quartz, но абстрагируется от некоторых сложностей и предоставляет более простой и согласованный API.

  • JobRunr более современный и актуальный, с более частыми выпусками и более активной разработкой по сравнению с Quartz.
  • JobRunr ориентирован на простоту использования и настройки, требующую минимальной настройки и настройки, в то время как Quartz может быть более сложным в настройке и настройке.
  • JobRunr предоставляет множество готовых функций, таких как простое планирование и мониторинг фоновых заданий, в то время как Quartz требует дополнительной ручной настройки для включения этих функций.
  • JobRunr также предоставляет панель инструментов, которую можно добавить в ваше приложение, с помощью которой вы можете видеть статус запланированных заданий, тогда как с Quartz вам нужно создать собственный мониторинг или использовать другую библиотеку.
  • JobRunr ориентирован на легкость и простоту интеграции с другими библиотеками, в то время как Quartz может быть более тяжелым и сложным.

В общем, если вы ищете простую и удобную библиотеку для планирования фоновых заданий в приложении Java, JobRunr будет отличным выбором. Если вам нужны более продвинутые функции и больший контроль над планированием и выполнением ваших заданий, Quartz может подойти лучше. JobRunr можно рассматривать как уровень абстракции поверх Quartz, и он может лучше соответствовать вашим потребностям, если вы хотите использовать функции, которые предоставляет Quartz, но с меньшей настройкой и настройкой.

Давайте настроим наше весеннее загрузочное приложение для использования JobRunr.

  • Добавьте зависимость JobRunr в файл pom.xml вашего проекта:
  • Создайте новый класс, который будет содержать ваши фоновые задания. В этом классе создайте новый метод для каждого задания, которое вы хотите запустить. Метод должен быть общедоступным и не принимать аргументов. Кроме того, вы должны автоматически подключить JobScheduler
  • Включите планировщик JobRunr в своем приложении, добавив следующее свойство в application.properties или application.yml
  • Вот и все! Теперь Spring Boot автоматически запустит фоновый поток JobRunr и зарегистрирует метод scheduleJob как задание, и он будет выполняться в соответствии с заданным вами расписанием.

Настройка панели управления

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

По умолчанию он доступен по следующему адресу: http://localhost:8000. Но это можно настроить с помощью файла свойств

Обратите внимание, что это очень простой пример, в реальных условиях вы можете захотеть использовать более продвинутые функции, такие как планирование повторяющихся заданий, запуск заданий в определенных рабочих потоках и мониторинг состояния ваших заданий. JobRunr предоставляет множество опций и функций, вы можете найти дополнительную информацию на их странице документации.

Рекомендации