Files
marketing-parser/ДОП_ТЗ.md
T
2025-09-14 10:13:50 +05:00

3.3 KiB
Raw Blame History

Дополнение к заданию для AI-агента

Задача: Добавить автоматический запуск парсера каждые 30 минут.

[cite_start]Контекст: Согласно техническому заданию, сбор данных должен происходить автоматически и регулярно, чтобы обеспечивать актуальность информации в системе[cite: 47, 93].


Реализация в Spring Boot

Для реализации этой задачи необходимо использовать встроенный в Spring механизм планировщика задач (Task Scheduler).

  1. Включить планировщик: В главном классе приложения (с аннотацией @SpringBootApplication) необходимо добавить аннотацию @EnableScheduling.

  2. Запланировать выполнение метода: В сервисе KursivParserService, над методом, который запускает процесс парсинга, нужно добавить аннотацию @Scheduled. Для запуска каждые 30 минут можно использовать cron выражение.


Пример кода:

1. Главный класс приложения:

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. Сервис-парсер:

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 минут часа.
  • В логах приложения видно, что метод парсинга вызывается каждые полчаса без какого-либо ручного вмешательства.