update flags: days-to-update-flags
This commit is contained in:
parent
d133ac804d
commit
9d664898ff
4 changed files with 10 additions and 4 deletions
|
|
@ -34,7 +34,7 @@ public class CreditTrackerSettings {
|
||||||
private String loadDir;
|
private String loadDir;
|
||||||
private Long monitoringInterval;
|
private Long monitoringInterval;
|
||||||
private String updateFlagsCronExpression;
|
private String updateFlagsCronExpression;
|
||||||
private Long daysToUpdateFlags;
|
private Integer daysToUpdateFlags;
|
||||||
private Long daysToUpdateFids;
|
private Long daysToUpdateFids;
|
||||||
private String encoding;
|
private String encoding;
|
||||||
private String dbVersion;
|
private String dbVersion;
|
||||||
|
|
|
||||||
|
|
@ -11,6 +11,7 @@ public interface PhonesMapMapper {
|
||||||
List<PhonesMap> searchedAtLessThan(@Param("daysCount") Integer daysCount, @Param("batchSize") int batchSize, @Param("lastId") Long lastId);
|
List<PhonesMap> searchedAtLessThan(@Param("daysCount") Integer daysCount, @Param("batchSize") int batchSize, @Param("lastId") Long lastId);
|
||||||
PhonesMap findByPhone(@Param("phone") Long phone);
|
PhonesMap findByPhone(@Param("phone") Long phone);
|
||||||
List<PhonesMap> findEligibleForFlagsUpdate(@Param("lastId") Long lastId,
|
List<PhonesMap> findEligibleForFlagsUpdate(@Param("lastId") Long lastId,
|
||||||
|
@Param("interval") Integer interval,
|
||||||
@Param("batchSize") Integer batchSize);
|
@Param("batchSize") Integer batchSize);
|
||||||
List<PhonesMap> findEligibleForFlagsInsert(@Param("lastId") Long lastId,
|
List<PhonesMap> findEligibleForFlagsInsert(@Param("lastId") Long lastId,
|
||||||
@Param("batchSize") Integer batchSize);
|
@Param("batchSize") Integer batchSize);
|
||||||
|
|
|
||||||
|
|
@ -8,6 +8,7 @@ import org.slf4j.LoggerFactory;
|
||||||
import org.springframework.scheduling.annotation.EnableScheduling;
|
import org.springframework.scheduling.annotation.EnableScheduling;
|
||||||
import org.springframework.scheduling.annotation.Scheduled;
|
import org.springframework.scheduling.annotation.Scheduled;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
import ru.nbch.credit_tracker.config.settings.CreditTrackerSettings;
|
||||||
import ru.nbch.credit_tracker.entities.app.PhonesMap;
|
import ru.nbch.credit_tracker.entities.app.PhonesMap;
|
||||||
import ru.nbch.credit_tracker.mapper.signal.PhonesMapMapper;
|
import ru.nbch.credit_tracker.mapper.signal.PhonesMapMapper;
|
||||||
import ru.nbch.credit_tracker.service.task.impl.FlagsEnricher;
|
import ru.nbch.credit_tracker.service.task.impl.FlagsEnricher;
|
||||||
|
|
@ -24,12 +25,16 @@ public class UpdatingFlagsService {
|
||||||
private final static int BATCH_SIZE = 1000;
|
private final static int BATCH_SIZE = 1000;
|
||||||
private final PhonesMapMapper phonesMapMapper;
|
private final PhonesMapMapper phonesMapMapper;
|
||||||
private final FlagsEnricher flagsEnricherV2;
|
private final FlagsEnricher flagsEnricherV2;
|
||||||
|
private final Integer updateDaysInterval;
|
||||||
private final AtomicBoolean insertIsRunning = new AtomicBoolean(false);
|
private final AtomicBoolean insertIsRunning = new AtomicBoolean(false);
|
||||||
private final AtomicBoolean updateIsRunning = new AtomicBoolean(false);
|
private final AtomicBoolean updateIsRunning = new AtomicBoolean(false);
|
||||||
|
|
||||||
public UpdatingFlagsService(PhonesMapMapper phonesMapMapper, FlagsEnricher flagsEnricherV2) {
|
public UpdatingFlagsService(CreditTrackerSettings settings,
|
||||||
|
PhonesMapMapper phonesMapMapper,
|
||||||
|
FlagsEnricher flagsEnricherV2) {
|
||||||
this.phonesMapMapper = phonesMapMapper;
|
this.phonesMapMapper = phonesMapMapper;
|
||||||
this.flagsEnricherV2 = flagsEnricherV2;
|
this.flagsEnricherV2 = flagsEnricherV2;
|
||||||
|
this.updateDaysInterval = settings.getDaysToUpdateFlags();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Scheduled(cron = "${ct.update-flags-cron-expression}")
|
@Scheduled(cron = "${ct.update-flags-cron-expression}")
|
||||||
|
|
@ -44,7 +49,7 @@ public class UpdatingFlagsService {
|
||||||
int batchNumber = 1;
|
int batchNumber = 1;
|
||||||
List<PhonesMap> phonesMaps;
|
List<PhonesMap> phonesMaps;
|
||||||
while (true) {
|
while (true) {
|
||||||
phonesMaps = phonesMapMapper.findEligibleForFlagsUpdate(lastId, BATCH_SIZE);
|
phonesMaps = phonesMapMapper.findEligibleForFlagsUpdate(lastId, updateDaysInterval, BATCH_SIZE);
|
||||||
log.trace("update batch {}, signals_phones_map records loaded: {}", batchNumber, phonesMaps.size());
|
log.trace("update batch {}, signals_phones_map records loaded: {}", batchNumber, phonesMaps.size());
|
||||||
if (phonesMaps.isEmpty()) {
|
if (phonesMaps.isEmpty()) {
|
||||||
break;
|
break;
|
||||||
|
|
|
||||||
|
|
@ -17,7 +17,7 @@ public class KickPipeLineRepeatedRestoreImpl extends KickPipeLine {
|
||||||
PackageRecordsService packageRecordsService,
|
PackageRecordsService packageRecordsService,
|
||||||
CreditTrackerSettings creditTrackerSettings) {
|
CreditTrackerSettings creditTrackerSettings) {
|
||||||
super(setupParam, userPackageMapper, packageRecordsService, creditTrackerSettings);
|
super(setupParam, userPackageMapper, packageRecordsService, creditTrackerSettings);
|
||||||
this.daysToUpdateFlags = creditTrackerSettings.getDaysToUpdateFlags().intValue();
|
this.daysToUpdateFlags = creditTrackerSettings.getDaysToUpdateFlags();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue