*) IndexCreateIndexingQueue_p.html now also shows indexing jobs that are currently in process

git-svn-id: https://svn.berlios.de/svnroot/repos/yacy/trunk@633 6c8d7289-2bf4-0310-a012-ef5d649a1542
pull/1/head
theli 20 years ago
parent 3dc6845bef
commit 0471019606

@ -46,6 +46,7 @@
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date; import java.util.Date;
import java.util.Iterator;
import java.util.Locale; import java.util.Locale;
import java.io.IOException; import java.io.IOException;
@ -86,15 +87,21 @@ public class IndexCreateIndexingQueue_p {
boolean dark; boolean dark;
int i=0; int i=0;
if (switchboard.sbQueue.size() == 0) { if ((switchboard.sbQueue.size() == 0) && (switchboard.indexingTasksInProcess.size() == 0)) {
prop.put("indexing-queue", 0); //is empty prop.put("indexing-queue", 0); //is empty
} else { } else {
prop.put("indexing-queue", 1); prop.put("indexing-queue", 1);
prop.put("indexing-queue_num", switchboard.sbQueue.size());//num entries in queue prop.put("indexing-queue_num", switchboard.sbQueue.size() + switchboard.indexingTasksInProcess.size());//num entries in queue
dark = true; dark = true;
plasmaSwitchboardQueue.Entry pcentry; plasmaSwitchboardQueue.Entry pcentry;
try { try {
ArrayList entryList = switchboard.sbQueue.list(0); ArrayList entryList = new ArrayList();
synchronized (switchboard.indexingTasksInProcess) {
entryList.addAll(switchboard.indexingTasksInProcess.values());
}
entryList.addAll(switchboard.sbQueue.list(0));
for (i = 0; i < entryList.size(); i++) { for (i = 0; i < entryList.size(); i++) {
pcentry = (plasmaSwitchboardQueue.Entry) entryList.get(i); pcentry = (plasmaSwitchboardQueue.Entry) entryList.get(i);
if (pcentry != null) { if (pcentry != null) {

@ -100,25 +100,19 @@
package de.anomic.plasma; package de.anomic.plasma;
// import java.io.BufferedReader;
import java.io.ByteArrayInputStream; import java.io.ByteArrayInputStream;
import java.io.File; import java.io.File;
// import java.io.FileInputStream;
import java.io.IOException; import java.io.IOException;
// import java.io.InputStreamReader;
import java.net.MalformedURLException; import java.net.MalformedURLException;
import java.net.URL; import java.net.URL;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.Date; import java.util.Date;
// import java.util.Enumeration;
import java.util.HashMap; import java.util.HashMap;
import java.util.HashSet; import java.util.HashSet;
import java.util.Iterator; import java.util.Iterator;
import java.util.Map; import java.util.Map;
import java.util.Set; import java.util.Set;
import java.util.TreeSet; import java.util.TreeSet;
// import java.util.TreeMap;
// import java.util.Vector;
import de.anomic.data.messageBoard; import de.anomic.data.messageBoard;
import de.anomic.data.wikiBoard; import de.anomic.data.wikiBoard;
@ -130,20 +124,17 @@ import de.anomic.kelondro.kelondroTables;
import de.anomic.server.serverAbstractSwitch; import de.anomic.server.serverAbstractSwitch;
import de.anomic.server.serverCodings; import de.anomic.server.serverCodings;
import de.anomic.server.serverCore; import de.anomic.server.serverCore;
// import de.anomic.server.serverDate;
import de.anomic.server.serverInstantThread; import de.anomic.server.serverInstantThread;
import de.anomic.server.serverObjects; import de.anomic.server.serverObjects;
import de.anomic.server.serverSemaphore; import de.anomic.server.serverSemaphore;
import de.anomic.server.serverSwitch; import de.anomic.server.serverSwitch;
import de.anomic.server.logging.serverLog; import de.anomic.server.logging.serverLog;
// import de.anomic.server.serverFileUtils;
import de.anomic.tools.bitfield; import de.anomic.tools.bitfield;
import de.anomic.tools.crypt; import de.anomic.tools.crypt;
import de.anomic.yacy.yacyClient; import de.anomic.yacy.yacyClient;
import de.anomic.yacy.yacyCore; import de.anomic.yacy.yacyCore;
import de.anomic.yacy.yacySearch; import de.anomic.yacy.yacySearch;
import de.anomic.yacy.yacySeed; import de.anomic.yacy.yacySeed;
// import de.anomic.yacy.yacySeedDB;
public final class plasmaSwitchboard extends serverAbstractSwitch implements serverSwitch { public final class plasmaSwitchboard extends serverAbstractSwitch implements serverSwitch {
@ -182,6 +173,7 @@ public final class plasmaSwitchboard extends serverAbstractSwitch implements ser
public plasmaWordIndexClassicCacheMigration classicCache; public plasmaWordIndexClassicCacheMigration classicCache;
public long proxyLastAccess; public long proxyLastAccess;
public yacyCore yc; public yacyCore yc;
public HashMap indexingTasksInProcess;
private serverSemaphore shutdownSync = new serverSemaphore(0); private serverSemaphore shutdownSync = new serverSemaphore(0);
private boolean terminate = false; private boolean terminate = false;
@ -293,6 +285,7 @@ public final class plasmaSwitchboard extends serverAbstractSwitch implements ser
// initialize switchboard queue // initialize switchboard queue
sbQueue = new plasmaSwitchboardQueue(this.cacheManager, urlPool.loadedURL, new File(plasmaPath, "switchboardQueue1.stack"), 10, profiles); sbQueue = new plasmaSwitchboardQueue(this.cacheManager, urlPool.loadedURL, new File(plasmaPath, "switchboardQueue1.stack"), 10, profiles);
indexingTasksInProcess = new HashMap();
// define an extension-blacklist // define an extension-blacklist
log.logConfig("Parser: Initializing Extension Mappings for Media/Parser"); log.logConfig("Parser: Initializing Extension Mappings for Media/Parser");
@ -618,6 +611,11 @@ public final class plasmaSwitchboard extends serverAbstractSwitch implements ser
try { try {
nextentry = sbQueue.pop(); nextentry = sbQueue.pop();
if (nextentry == null) return false; if (nextentry == null) return false;
synchronized (this.indexingTasksInProcess) {
this.indexingTasksInProcess.put(nextentry.urlHash(),nextentry);
}
} catch (IOException e) { } catch (IOException e) {
log.logSevere("IOError in plasmaSwitchboard.deQueue: " + e.getMessage(), e); log.logSevere("IOError in plasmaSwitchboard.deQueue: " + e.getMessage(), e);
return false; return false;
@ -1060,9 +1058,13 @@ public final class plasmaSwitchboard extends serverAbstractSwitch implements ser
} catch (IOException e) { } catch (IOException e) {
log.logSevere("ERROR in plasmaSwitchboard.process(): " + e.toString()); log.logSevere("ERROR in plasmaSwitchboard.process(): " + e.toString());
} finally { } finally {
synchronized (this.indexingTasksInProcess) {
this.indexingTasksInProcess.remove(entry.urlHash());
}
// explicit delete/free resources // explicit delete/free resources
if ((entry != null) && (entry.profile() != null) && (!(entry.profile().storeHTCache()))) cacheManager.deleteFile(entry.url()); if ((entry != null) && (entry.profile() != null) && (!(entry.profile().storeHTCache()))) cacheManager.deleteFile(entry.url());
entry = null; entry = null;
} }
} }

Loading…
Cancel
Save