diff --git a/src/de/mrbesen/youtubecrawler/Crawler.java b/src/de/mrbesen/youtubecrawler/Crawler.java index 37a18bf..3e74ab6 100644 --- a/src/de/mrbesen/youtubecrawler/Crawler.java +++ b/src/de/mrbesen/youtubecrawler/Crawler.java @@ -59,7 +59,6 @@ public class Crawler implements Runnable { public void stop() { crawl = false; - db.stop(); } public synchronized void addtoCrawl(String videoid) { @@ -220,6 +219,7 @@ public class Crawler implements Runnable { log.info("get report"); int count = 0; for (CrawlerThread crawlerThread : threads) { + currentstate = "get report: " + crawlerThread.thread.getName(); LinkedList[] report = crawlerThread.report(); crawlcount+= report[0].size(); toSave.addAll(report[0]); @@ -283,7 +283,10 @@ public class Crawler implements Runnable { Main.getMain().stop(); } } + currentstate = "delete Double"; db.deleteDouble(); + currentstate = "stop DB"; + db.stop(); //end long runtimes = (System.currentTimeMillis() - start) / 1000; @@ -292,6 +295,7 @@ public class Crawler implements Runnable { int runtimem = (int) (runtimes / 60); float vidps = (crawlcount / (float) runtimes);//videos per second log.info("Crawling Stopped. Runtime: " + runtimem + "min and " + crawlcount + " videos crawled. ( " + vidps + " v/s )"); + currentstate = "ended."; } public DB getDB() { @@ -317,10 +321,10 @@ public class Crawler implements Runnable { out += "\nRuntime: " + runtimem + "min and " + crawlcount + " videos crawled. ( " + vidps + " v/s )"; out += "\nState: " + currentstate; out += "\nDBSize: " + db.getDBSize(); - out += "\nThread Nr, todo size, requested, crawledsize, foundsize"; + out += "\nThread Nr, todo size, locked, requested, crawledsize, foundsize"; for (int i = 0; i < threads.size(); i++) { CrawlerThread thre = threads.get(i); - out += "\n " + i + " " + thre.todo.size() + " " + thre.requested + " " + thre.crawled.size() + " " + thre.found.size(); + out += "\n " + i + " " + thre.todo.size() + " " + thre.lockforreport + " " + thre.requested + " " + thre.crawled.size() + " " + thre.found.size(); } return out; } diff --git a/src/de/mrbesen/youtubecrawler/CrawlerThread.java b/src/de/mrbesen/youtubecrawler/CrawlerThread.java index 1317932..15f9266 100644 --- a/src/de/mrbesen/youtubecrawler/CrawlerThread.java +++ b/src/de/mrbesen/youtubecrawler/CrawlerThread.java @@ -20,7 +20,7 @@ public class CrawlerThread implements Runnable { LinkedList found = new LinkedList<>();//videos this thread had found boolean requested = true;//is a request pending? - private boolean lockforreport = false; + boolean lockforreport = false; public CrawlerThread( Crawler root) { parent = root; @@ -69,7 +69,7 @@ public class CrawlerThread implements Runnable { */ LinkedList[] report() { lockforreport = true; - return new LinkedList[] {crawled, found}; + return new LinkedList[] {(LinkedList) crawled.clone(), (LinkedList) found.clone()}; } private void crawl(String videoid) {