Added sheduling for report loading
This commit is contained in:
parent
b3102a17f8
commit
27c6e5188c
4 changed files with 16 additions and 3 deletions
|
|
@ -2,12 +2,15 @@ package ru.nbch.credit_tracker;
|
||||||
|
|
||||||
import org.springframework.boot.SpringApplication;
|
import org.springframework.boot.SpringApplication;
|
||||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||||
|
import org.springframework.context.ConfigurableApplicationContext;
|
||||||
|
|
||||||
@SpringBootApplication
|
@SpringBootApplication
|
||||||
public class CreditTrackerApplication {
|
public class CreditTrackerApplication {
|
||||||
|
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
SpringApplication.run(CreditTrackerApplication.class, args);
|
ConfigurableApplicationContext ctx = SpringApplication.run(CreditTrackerApplication.class, args);
|
||||||
|
// MonitoringService monitoringService = ctx.getBean(MonitoringService.class);
|
||||||
|
// monitoringService.run(); // TODO uncomment
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -27,5 +27,6 @@ public class CreditTrackerSettings {
|
||||||
private String signalsuser;
|
private String signalsuser;
|
||||||
|
|
||||||
private String loadDir;
|
private String loadDir;
|
||||||
|
private Long monitoringInterval;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -20,6 +20,9 @@ import java.io.FileOutputStream;
|
||||||
import java.nio.charset.Charset;
|
import java.nio.charset.Charset;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
import java.util.concurrent.Executors;
|
||||||
|
import java.util.concurrent.ScheduledExecutorService;
|
||||||
|
import java.util.concurrent.TimeUnit;
|
||||||
import java.util.zip.GZIPInputStream;
|
import java.util.zip.GZIPInputStream;
|
||||||
import java.util.zip.ZipEntry;
|
import java.util.zip.ZipEntry;
|
||||||
import java.util.zip.ZipOutputStream;
|
import java.util.zip.ZipOutputStream;
|
||||||
|
|
@ -43,7 +46,13 @@ public class MonitoringService {
|
||||||
this.config = config;
|
this.config = config;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void monitor() {
|
public void run() {
|
||||||
|
ScheduledExecutorService scheduler = Executors.newSingleThreadScheduledExecutor();
|
||||||
|
long period = config.getMonitoringInterval() != null ? config.getMonitoringInterval() : 15;
|
||||||
|
scheduler.scheduleAtFixedRate(this::monitor, 0, period, TimeUnit.MINUTES);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void monitor() {
|
||||||
List<SignalService.PackageData> packages = signalService.findPackagesOnMonitoring();
|
List<SignalService.PackageData> packages = signalService.findPackagesOnMonitoring();
|
||||||
for (SignalService.PackageData packageData : packages) {
|
for (SignalService.PackageData packageData : packages) {
|
||||||
SgnlOnlineReport onlineReports = signalRestService.getReports(packageData.getUserId().substring(0, 6) + "_" + packageData.getPackageName());
|
SgnlOnlineReport onlineReports = signalRestService.getReports(packageData.getUserId().substring(0, 6) + "_" + packageData.getPackageName());
|
||||||
|
|
|
||||||
|
|
@ -22,7 +22,7 @@
|
||||||
<result property="packageName" column="package_name" />
|
<result property="packageName" column="package_name" />
|
||||||
<result property="createdAt" column="created_at"/>
|
<result property="createdAt" column="created_at"/>
|
||||||
<result property="status" column="status"/>
|
<result property="status" column="status"/>
|
||||||
<result property="last_downloaded_report" column="lastDownloadedReport" />
|
<result property="lastDownloadedReport" column="last_downloaded_report" />
|
||||||
</resultMap>
|
</resultMap>
|
||||||
|
|
||||||
<select id="isPackageNotUnique" resultType="boolean">
|
<select id="isPackageNotUnique" resultType="boolean">
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue