update flags

This commit is contained in:
ialbert 2025-11-28 13:30:08 +03:00
parent d5c6e7e08f
commit 3d86558acb
3 changed files with 7 additions and 14 deletions

View file

@ -66,7 +66,7 @@ ct.load-dir=D:\\folder_name\\signals
# min
ct.monitoring-interval=${MONITORING_INTERVAL:15}
# days
ct.update-flags-interval=${UPDATE_FLAGS_INTERVAL:1}
ct.update-flags-interval=${UPDATE_FLAGS_INTERVAL:0 0 0 2 * ?}
ct.days-to-update-flags=${DAYS_TO_UPDATE_FLAGS:30}
ct.db-version=${DB_VERSION:1234}

View file

@ -31,7 +31,7 @@ public class CreditTrackerSettings {
private Long maxXmlFileSize;
private String loadDir;
private Long monitoringInterval;
private Long updateFlagsInterval;
private String updateFlagsInterval;
private Long daysToUpdateFlags;
private String encoding;
private String dbVersion;

View file

@ -3,13 +3,11 @@ package ru.nbch.credit_tracker.service;
import java.time.LocalDateTime;
import java.time.temporal.ChronoUnit;
import java.util.List;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
import java.util.function.Predicate;
import lombok.extern.slf4j.Slf4j;
import org.slf4j.MDC;
import org.springframework.scheduling.concurrent.CustomizableThreadFactory;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Service;
import ru.nbch.credit_tracker.config.settings.CreditTrackerSettings;
import ru.nbch.credit_tracker.entities.app.PhoneFidMap;
@ -23,13 +21,13 @@ import ru.nbch.credit_tracker.service.signal.SignalRestService;
*/
@Slf4j
@Service
public class UpdatingFlagsService {
@EnableScheduling
public class UpdatingFlagsService /*implements InitializingBean*/ {
private final SignalService signalService;
private final SignalRestService signalRestService;
private final MonitoringErrorProcesingService monitoringErrorProcesingService;
private final Long daysToUpdateFlags;
private final Long updateFlagsInterval;
public UpdatingFlagsService(SignalService signalService,
SignalRestService signalRestService,
@ -39,14 +37,9 @@ public class UpdatingFlagsService {
this.signalRestService = signalRestService;
this.monitoringErrorProcesingService = monitoringErrorProcesingService;
this.daysToUpdateFlags = config.getDaysToUpdateFlags() != null ? config.getDaysToUpdateFlags() : 1;
this.updateFlagsInterval = config.getUpdateFlagsInterval() != null ? config.getUpdateFlagsInterval() : 1;
}
public void run() {
ScheduledExecutorService scheduler = Executors.newSingleThreadScheduledExecutor(new CustomizableThreadFactory("updating-flags-"));
scheduler.scheduleAtFixedRate(this::update, 0, updateFlagsInterval, TimeUnit.DAYS);
}
@Scheduled(cron = "${ct.update-flags-interval}")
private void update() {
log.info("Start updating flags");
List<UserPackage> packages = signalService.findPackagesOnMonitoring();