Feature/parsing-service: save
This commit is contained in:
parent
c4bb7a5ffa
commit
59c41a4912
@ -31,7 +31,7 @@ ext {
|
||||
dependencies {
|
||||
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
|
||||
implementation 'org.springframework.boot:spring-boot-starter-web'
|
||||
implementation 'org.liquibase:liquibase-core'
|
||||
// implementation 'org.liquibase:liquibase-core'
|
||||
implementation 'org.springframework.kafka:spring-kafka'
|
||||
implementation "org.jsoup:jsoup:${jsoupVesion}"
|
||||
implementation "org.seleniumhq.selenium:selenium-java:${seleniumVersion}"
|
||||
|
@ -1,9 +1,14 @@
|
||||
package ru.pricepulse.parsingservice.config;
|
||||
|
||||
import jakarta.annotation.PostConstruct;
|
||||
import org.springframework.core.io.Resource;
|
||||
import org.springframework.core.io.ResourceLoader;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.net.InetSocketAddress;
|
||||
import java.nio.file.Files;
|
||||
import java.nio.file.Path;
|
||||
import java.util.List;
|
||||
import java.util.concurrent.atomic.AtomicInteger;
|
||||
|
||||
@ -14,19 +19,26 @@ import static ru.pricepulse.parsingservice.wildberries_parser.proxy.ProxyChecker
|
||||
@Component
|
||||
public class ProxyProvider {
|
||||
private List<String> workingProxies;
|
||||
private static final String PROXY_FILE_PATH = "/home/forever/УлГТУ/Платформы/parsing-service/src/main/resources/proxy.txt";
|
||||
private static final String WORKING_PROXY_FILE_PATH = "/home/forever/УлГТУ/Платформы/parsing-service/src/main/resources/ok-proxy.txt";
|
||||
|
||||
private final AtomicInteger currentProxyIndex = new AtomicInteger(0);
|
||||
|
||||
private final ResourceLoader resourceLoader;
|
||||
|
||||
public ProxyProvider(ResourceLoader resourceLoader) {
|
||||
this.resourceLoader = resourceLoader;
|
||||
}
|
||||
|
||||
@PostConstruct
|
||||
public void init() {
|
||||
List<String> proxies = readProxiesFromFile(PROXY_FILE_PATH);
|
||||
public void init() throws IOException {
|
||||
Resource proxy = resourceLoader.getResource("classpath:proxy.txt");
|
||||
Resource okProxy = resourceLoader.getResource("classpath:ok-proxy.txt");
|
||||
List<String> proxies = Files.readAllLines(Path.of(proxy.getURI()));
|
||||
System.out.println("Начата проверка проксей");
|
||||
workingProxies = checkProxies(proxies);
|
||||
System.out.println("Закончена проверка проксей");
|
||||
|
||||
saveProxiesToFile(workingProxies, WORKING_PROXY_FILE_PATH);
|
||||
|
||||
saveProxiesToFile(workingProxies, Path.of(okProxy.getURI()));
|
||||
|
||||
if (workingProxies.isEmpty()) {
|
||||
throw new RuntimeException("Нет доступных рабочих прокси.");
|
||||
|
@ -8,6 +8,7 @@ import java.net.InetSocketAddress;
|
||||
import java.net.Proxy;
|
||||
import java.net.URL;
|
||||
import java.nio.file.Files;
|
||||
import java.nio.file.Path;
|
||||
import java.nio.file.Paths;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
@ -101,8 +102,8 @@ public class ProxyChecker {
|
||||
}
|
||||
}
|
||||
|
||||
public static void saveProxiesToFile(List<String> proxies, String filePath) {
|
||||
try (BufferedWriter writer = new BufferedWriter(new FileWriter(filePath))) {
|
||||
public static void saveProxiesToFile(List<String> proxies, Path filePath) {
|
||||
try (BufferedWriter writer = Files.newBufferedWriter(filePath)) {
|
||||
for (String proxy : proxies) {
|
||||
writer.write(proxy);
|
||||
writer.newLine();
|
||||
|
@ -17,7 +17,7 @@ spring:
|
||||
url: jdbc:clickhouse://${CLICKHOUSE_JDBC_URL}
|
||||
username: ${CLICKHOUSE_JDBC_USERNAME}
|
||||
password: ${CLICKHOUSE_JDBC_PASSWORD}
|
||||
liquibase:
|
||||
liquibase:
|
||||
change-log: classpath:/db/changelog/master.yml
|
||||
|
||||
marketplace:
|
||||
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user