### Дополнение к заданию для AI-агента **Задача:** Добавить автоматический запуск парсера каждые 30 минут. [cite\_start]**Контекст:** Согласно техническому заданию, сбор данных должен происходить автоматически и регулярно, чтобы обеспечивать актуальность информации в системе[cite: 47, 93]. --- ### Реализация в Spring Boot Для реализации этой задачи необходимо использовать встроенный в Spring механизм планировщика задач (Task Scheduler). 1. **Включить планировщик:** В главном классе приложения (с аннотацией `@SpringBootApplication`) необходимо добавить аннотацию `@EnableScheduling`. 2. **Запланировать выполнение метода:** В сервисе `KursivParserService`, над методом, который запускает процесс парсинга, нужно добавить аннотацию `@Scheduled`. Для запуска каждые 30 минут можно использовать `cron` выражение. --- ### Пример кода: **1. Главный класс приложения:** ```java import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.scheduling.annotation.EnableScheduling; @SpringBootApplication @EnableScheduling // <-- ДОБАВИТЬ ЭТУ АННОТАЦИЮ public class MarketingAnalyticsApplication { public static void main(String[] args) { SpringApplication.run(MarketingAnalyticsApplication.class, args); } } ``` **2. Сервис-парсер:** ```java import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Service; @Service public class KursivParserService { // ... здесь существующий код и зависимости (MongoTemplate и т.д.) @Scheduled(cron = "0 0/30 * * * ?") // <-- ДОБАВИТЬ ЭТУ АННОТАЦИЮ public void parseAndStoreNews() { System.out.println("Запуск планового парсинга новостей с Kursiv.media..."); // ... здесь вся логика парсинга, которая уже написана } } ``` **Объяснение `cron = "0 0/30 * * * ?"`:** Эта настройка означает, что метод `parseAndStoreNews()` будет запускаться **в 0 и 30 минут каждого часа, каждый день**. Это в точности соответствует требованию ТЗ. --- ### Критерии выполнения: - После запуска приложения, парсер автоматически начинает свою работу в ближайшие 0 или 30 минут часа. - В логах приложения видно, что метод парсинга вызывается каждые полчаса без какого-либо ручного вмешательства.