Compare commits

..

No commits in common. "1f14a06cc85d88113ffaeedda34df6ac3fc9cfa8" and "a3dafedb27a30ffa36ba0c37edea96aea4e639df" have entirely different histories.

10 changed files with 16 additions and 66 deletions

View file

@ -65,7 +65,6 @@ ct.load-dir=/opt/app/reports
# min
ct.monitoring-interval=${MONITORING_INTERVAL:15}
ct.monitoring-membercodes=${MONITORING_MEMBERCODES:0001XX,0001BB}
# days
ct.update-flags-cron-expression=${UPDATE_FLAGS_CRON_EXPRESSION:0 25 18 * * *}
ct.new-flags-cron-expression=${NEW_FLAGS_CRON_EXPRESSION:0 25 18 * * *}

View file

@ -72,7 +72,6 @@ SIGNALS_USER=0001ZZ000001
# min
MONITORING_INTERVAL=15
MONITORING_MEMBERCODES=0001XX,0001BB
# days
DAYS_TO_UPDATE_FLAGS=30

View file

@ -64,7 +64,6 @@ services:
- SIGNALS_TOKEN=${SIGNALS_TOKEN}
- SIGNALS_USER=${SIGNALS_USER}
- MONITORING_INTERVAL=${MONITORING_INTERVAL}
- MONITORING_MEMBERCODES=${MONITORING_MEMBERCODES}
- UPDATE_FLAGS_CRON_EXPRESSION=${UPDATE_FLAGS_CRON_EXPRESSION}
- NEW_FLAGS_CRON_EXPRESSION=${NEW_FLAGS_CRON_EXPRESSION}
- UPDATE_FIDS_CRON_EXPRESSION=${UPDATE_FIDS_CRON_EXPRESSION}

14
pom.xml
View file

@ -10,7 +10,7 @@
</parent>
<groupId>ru.nbch</groupId>
<artifactId>credit-tracker</artifactId>
<version>2.21.14</version>
<version>2.21.12</version>
<name>credit_tracker</name>
<description>Credit Tracker Application</description>
@ -18,9 +18,10 @@
<java.version>21</java.version>
<git.info.prefix>git_info</git.info.prefix>
<git.info.filename>git.properties</git.info.filename>
<registry.url>nexus-dev.nbki.msk</registry.url>
<registry.url>10.230.238.56:5000</registry.url>
<jar.main.name>main</jar.main.name>
<jar.monitoring.name>monitoring</jar.monitoring.name>
<!-- <registry.url>rh8-vm3.nbki.msk:5000</registry.url>-->
</properties>
<dependencies>
@ -72,11 +73,6 @@
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.codehaus.janino</groupId>
<artifactId>janino</artifactId>
<version>3.1.12</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-core</artifactId>
@ -165,8 +161,8 @@
<configuration>
<images>
<image>
<name>nexus-dev.nbki.msk/${project.artifactId}:${project.version}</name>
<!-- <registry>${registry.url}</registry>-->
<name>${project.artifactId}:${project.version}</name>
<registry>${registry.url}</registry>
<build>
<dockerFile>${project.basedir}/Dockerfile</dockerFile>
<assembly>

View file

@ -1,6 +1,5 @@
package ru.nbch.credit_tracker.config.settings;
import java.util.List;
import lombok.Getter;
import lombok.Setter;
import org.springframework.boot.context.properties.ConfigurationProperties;
@ -34,7 +33,6 @@ public class CreditTrackerSettings {
private Long maxXmlFileSize;
private String loadDir;
private Long monitoringInterval;
private List<String> monitoringMembercodes;
private String updateFlagsCronExpression;
private Integer daysToUpdateFlags;
private Long daysToUpdateFids;

View file

@ -29,7 +29,6 @@ public interface UserPackageMapper {
List<UserPackage> findUserPackages(@Param("userId") String userId, @Param("statuses") List<String> status);
List<UserPackage> findAllPackagesByStatus(@Param("statuses") String... statuses);
List<UserPackage> findOnMonitoringByMemberCode(List<String> membercodes);
List<UserPackage> findAllPackagesByUserId(@Param("userId") String userId);
UserPackage findByPackageName(@Param("packageName") String packageName);

View file

@ -35,6 +35,7 @@ import ru.nbch.credit_tracker.entities.user_response.monitoring_signal_response.
import ru.nbch.credit_tracker.entities.user_response.monitoring_signal_response.Signal;
import ru.nbch.credit_tracker.entities.user_response.monitoring_signal_response.Signals;
import ru.nbch.credit_tracker.entities.user_response.monitoring_signal_response.Subject;
import ru.nbch.credit_tracker.enums.Status;
import ru.nbch.credit_tracker.mapper.signal.FlagDetailMapper;
import ru.nbch.credit_tracker.mapper.signal.UserPackageMapper;
import ru.nbch.credit_tracker.service.signal.HitsService;
@ -79,7 +80,6 @@ public class MonitoringService {
}
public void run() {
log.debug("Running scheduler for monitoring by membercode: {}", config.getMonitoringMembercodes());
ScheduledExecutorService scheduler = Executors.newSingleThreadScheduledExecutor(new CustomizableThreadFactory("monitoring-"));
long period = config.getMonitoringInterval() != null ? config.getMonitoringInterval() : 15;
scheduler.scheduleAtFixedRate(this::monitor, 0, period, TimeUnit.MINUTES);
@ -88,7 +88,8 @@ public class MonitoringService {
private void monitor() {
try {
log.info("Start monitoring");
List<UserPackage> packages = userPackageMapper.findOnMonitoringByMemberCode(config.getMonitoringMembercodes());
List<UserPackage> packages = userPackageMapper.findAllPackagesByStatus(Status.ON_MONITORING.name(),
Status.PROCESSING_REPEATED.name());
for (UserPackage userPackage : packages) {
MDC.put("ru.nbch.credit_tracker.log.mdc.key", "[" + userPackage.getPackageName() + "]");
processPackage(userPackage);

View file

@ -248,8 +248,7 @@ public class SignalRestService {
HttpEntity<MultiValueMap<String, String>> requestEntity = new HttpEntity<>(headers);
ResponseEntity<String> response = exchangeWithTiming(
"onlinereport",
ResponseEntity<String> response = restTemplate.exchange(
url,
HttpMethod.GET,
requestEntity,
@ -284,12 +283,12 @@ public class SignalRestService {
HttpEntity<MultiValueMap<String, String>> requestEntity = new HttpEntity<>(headers);
ResponseEntity<byte[]> response = exchangeWithTiming(
"onlinedownload",
url,
HttpMethod.GET,
requestEntity,
byte[].class);
ResponseEntity<byte[]> response = restTemplate.exchange(
url,
HttpMethod.GET,
requestEntity,
byte[].class
);
Path targetFilePathWithExt = null;
if (response.getHeaders().getContentType().equals(MEDIA_TYPE_GZIP)) {
Path folder = Path.of(config.getLoadDir(),
@ -334,21 +333,4 @@ public class SignalRestService {
return "unknown error";
return "%s: %s".formatted(response.getError().getName(), response.getError().getDescription());
}
private <T> ResponseEntity<T> exchangeWithTiming(
String name,
String url,
HttpMethod method,
HttpEntity<?> requestEntity,
Class<T> responseType
) {
long start = System.nanoTime();
try {
return restTemplate.exchange(url, method, requestEntity, responseType);
} finally {
long durationMs = (System.nanoTime() - start) / 1_000_000;
log.info("REST [{}] {} {} took {} ms", name, method, url, durationMs);
}
}
}

View file

@ -1,12 +1,7 @@
<configuration>
<if condition='isDefined("MONITORING_MEMBERCODES") &amp;&amp; !property("MONITORING_MEMBERCODES").isEmpty()'>
<then>
<property name="monitoringMemberCodesSuffix" value="-${MONITORING_MEMBERCODES}" />
</then>
</if>
<property name="basedir" value="${user.dir}" />
<property name="logFile" value="${basedir}/logs/app/credit-tracker-${APP_JAR}${monitoringMemberCodesSuffix:-}.log" />
<property name="logFile" value="${basedir}/logs/app/credit-tracker-${APP_JAR}.log" />
<property name="logFileNamePattern" value="${basedir}/logs/app/credit-tracker-${APP_JAR}.%i.log" />
<property name="jsonLogFile" value="${basedir}/logs/json/credit-tracker-json.log" />
<property name="jsonLogFileNamePattern" value="${basedir}/logs/json/credit-tracker-json.%d{yyyy-MM-dd}.%i.gz" />

View file

@ -229,24 +229,6 @@
</foreach>
</select>
<select id="findOnMonitoringByMemberCode" resultMap="packageDataResultMap">
SELECT id,
membercode,
package_name,
created_at,
status,
deactivated_at,
last_downloaded_report,
monitoring_at,
reject_status,
signal_types
FROM signals_user_packages
WHERE status in ('ON_MONITORING', 'PROCESSING_REPEATED') and LEFT(membercode, 6) in
<foreach collection="membercodes" item="membercode" separator="," open="(" close=")">
#{membercode}
</foreach>
</select>
<select id="findByMemberCodeAndPackageName" resultMap="packageDataResultMap">
SELECT id,
membercode,