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 Long monitoringInterval;
|
||||
private String updateFlagsCronExpression;
|
||||
private Long daysToUpdateFlags;
|
||||
private Integer daysToUpdateFlags;
|
||||
private Long daysToUpdateFids;
|
||||
private String encoding;
|
||||
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);
|
||||
PhonesMap findByPhone(@Param("phone") Long phone);
|
||||
List<PhonesMap> findEligibleForFlagsUpdate(@Param("lastId") Long lastId,
|
||||
@Param("interval") Integer interval,
|
||||
@Param("batchSize") Integer batchSize);
|
||||
List<PhonesMap> findEligibleForFlagsInsert(@Param("lastId") Long lastId,
|
||||
@Param("batchSize") Integer batchSize);
|
||||
|
|
|
|||
|
|
@ -8,6 +8,7 @@ import org.slf4j.LoggerFactory;
|
|||
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.PhonesMap;
|
||||
import ru.nbch.credit_tracker.mapper.signal.PhonesMapMapper;
|
||||
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 PhonesMapMapper phonesMapMapper;
|
||||
private final FlagsEnricher flagsEnricherV2;
|
||||
private final Integer updateDaysInterval;
|
||||
private final AtomicBoolean insertIsRunning = 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.flagsEnricherV2 = flagsEnricherV2;
|
||||
this.updateDaysInterval = settings.getDaysToUpdateFlags();
|
||||
}
|
||||
|
||||
@Scheduled(cron = "${ct.update-flags-cron-expression}")
|
||||
|
|
@ -44,7 +49,7 @@ public class UpdatingFlagsService {
|
|||
int batchNumber = 1;
|
||||
List<PhonesMap> phonesMaps;
|
||||
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());
|
||||
if (phonesMaps.isEmpty()) {
|
||||
break;
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@ public class KickPipeLineRepeatedRestoreImpl extends KickPipeLine {
|
|||
PackageRecordsService packageRecordsService,
|
||||
CreditTrackerSettings creditTrackerSettings) {
|
||||
super(setupParam, userPackageMapper, packageRecordsService, creditTrackerSettings);
|
||||
this.daysToUpdateFlags = creditTrackerSettings.getDaysToUpdateFlags().intValue();
|
||||
this.daysToUpdateFlags = creditTrackerSettings.getDaysToUpdateFlags();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue