Spider: можно запустить только конкретный сканнер
теперь при запуске "паука" можно указать наименование сканера, который сейчас должен работать
This commit is contained in:
@@ -11,6 +11,10 @@ public class Main {
|
||||
public static void main(String[] args) {
|
||||
ApplicationContext ctx = new ClassPathXmlApplicationContext("/kinosearch/kinosearch3/spider/spring.xml");
|
||||
Spider spider = ctx.getBean("spider", Spider.class);
|
||||
if (args.length > 0 && !args[0].trim().isEmpty()) {
|
||||
spider.start(args[0]);
|
||||
} else {
|
||||
spider.start();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -16,11 +16,28 @@ public class Spider {
|
||||
this.fileDownloader = fileDownloader;
|
||||
}
|
||||
|
||||
/**
|
||||
* Запуск всех сканеров
|
||||
*/
|
||||
void start() {
|
||||
start(null);
|
||||
}
|
||||
|
||||
/**
|
||||
* Запуск только одного сканера
|
||||
* @param scannerName название сканера
|
||||
*/
|
||||
void start(String scannerName) {
|
||||
fileDownloader.start();
|
||||
|
||||
ThreadGroup threadGroup = new ThreadGroup("Scanners");
|
||||
for (ScannerCinema scanner : scanners) {
|
||||
if (scannerName != null && !scannerName.isEmpty()) {
|
||||
if (!scanner.getName().equalsIgnoreCase(scannerName) &&
|
||||
!scanner.getName().equalsIgnoreCase(scannerName+"Scanner")) {
|
||||
continue;
|
||||
}
|
||||
}
|
||||
(new Thread(threadGroup, scanner::run, "Scanner " + scanner.getName())).start();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user