diff --git a/htroot/env/style.css b/htroot/env/style.css
index 394421f3e..bcc4fb0ce 100644
--- a/htroot/env/style.css
+++ b/htroot/env/style.css
@@ -160,6 +160,9 @@ background-color: #bbcccc;
.TableCellLight {
background-color: #ddeeee;
}
+.TableCellActive {
+background-color: #ffbbaa;
+}
.TableCellSummary {
background-color: #ffbbaa;
}
diff --git a/htroot/js/WatchCrawler.js b/htroot/js/WatchCrawler.js
index 3bebb50cc..b5c526cff 100644
--- a/htroot/js/WatchCrawler.js
+++ b/htroot/js/WatchCrawler.js
@@ -1,78 +1,102 @@
DELETE_STRING="delete"
-function handleResponse(){
- if(http.readyState == 4){
- var response = http.responseXML;
- indexingTable=document.getElementById("indexingTable");
- if(response != null){
- entries=response.getElementsByTagName("entry");
- }
+
+var statusRPC;
+function requestStatus(){
+ statusRPC=createRequestObject()
+ statusRPC.open('get', '/xml/status_p.xml');
+ statusRPC.onreadystatechange = handleStatus;
+ statusRPC.send(null)
+}
+function requestIndexingQueue(){
+ indexingQueueRPC=createRequestObject()
+ indexingQueueRPC.open('get', '/xml/queues/indexing_p.xml');
+ indexingQueueRPC.onreadystatechange = handleIndexingQueue;
+ indexingQueueRPC.send(null);
+
+}
+window.setInterval("requestStatus()", 5000);
+window.setInterval("requestIndexingQueue()", 5000);
+
+
+
+//window.setInterval("sndReq('/xml/queues/indexing_p.xml')", 5000);
+
+
+function handleStatus(){
+ var statusResponse = statusRPC.responseXML;
+ indexingqueue=statusResponse.getElementsByTagName("indexingqueue")[0];
+ indexingqueue_size=indexingqueue.firstChild.nextSibling;
+ indexingqueue_max=indexingqueue_size.nextSibling.nextSibling;
+ ppm=statusResponse.getElementsByTagName("ppm")[0];
+ document.getElementById("indexingqueuesize").firstChild.nodeValue=indexingqueue_size.firstChild.nodeValue;
+ document.getElementById("indexingqueuemax").firstChild.nodeValue=indexingqueue_max.firstChild.nodeValue;
+ document.getElementById("ppm").firstChild.nodeValue=ppm.firstChild.nodeValue;
+}
+function handleIndexingQueue(){
+ var indexingQueueResponse = indexingQueueRPC.responseXML;
+ indexingTable=document.getElementById("indexingTable");
+ if(indexingQueueResponse != null){
+ entries=indexingQueueResponse.getElementsByTagName("entry");
+ }
- //skip the Tableheade
- row=indexingTable.firstChild.nextSibling.firstChild.nextSibling.nextSibling;
+ //skip the Tableheade
+ row=indexingTable.firstChild.nextSibling.firstChild.nextSibling.nextSibling;
- while(row != null){ //delete old entries
- indexingTable.firstChild.nextSibling.removeChild(row);
- row=indexingTable.firstChild.nextSibling.firstChild.nextSibling.nextSibling;
- }
+ while(row != null){ //delete old entries
+ indexingTable.firstChild.nextSibling.removeChild(row);
+ row=indexingTable.firstChild.nextSibling.firstChild.nextSibling.nextSibling;
+ }
- dark=false;
- for(i=0;i
-
+
#{list}#
#[initiator]#
@@ -12,5 +12,5 @@
#(inProcess)#false::true#(/inProcess)#
#{/list}#
-
+
diff --git a/htroot/xml/status_p.java b/htroot/xml/status_p.java
new file mode 100644
index 000000000..b362284ae
--- /dev/null
+++ b/htroot/xml/status_p.java
@@ -0,0 +1,77 @@
+// /xml.queues/status_p.java
+// -------------------------------
+// part of the AnomicHTTPD caching proxy
+// (C) by Michael Peter Christen; mc@anomic.de
+// first published on http://www.anomic.de
+// Frankfurt, Germany, 2004, 2005
+//
+// last major change: 06.02.2006
+// this file is contributed by Alexander Schier
+//
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Using this software in any meaning (reading, learning, copying, compiling,
+// running) means that you agree that the Author(s) is (are) not responsible
+// for cost, loss of data or any harm that may be caused directly or indirectly
+// by usage of this softare or this documentation. The usage of this software
+// is on your own risk. The installation and usage (starting/running) of this
+// software may allow other people or application to access your computer and
+// any attached devices and is highly dependent on the configuration of the
+// software which must be done by the user of the software; the author(s) is
+// (are) also not responsible for proper configuration and usage of the
+// software, even if provoked by documentation provided together with
+// the software.
+//
+// Any changes to this file according to the GPL as documented in the file
+// gpl.txt aside this file in the shipment you received can be done to the
+// lines that follows this copyright notice here, but changes must not be
+// done inside the copyright notive above. A re-distribution must contain
+// the intact and unchanged copyright notice.
+// Contributions and changes to the program code must be marked as such.
+
+// You must compile this file with
+// javac -classpath .:../classes IndexCreate_p.java
+// if the shell's current path is HTROOT
+
+//package xml.queues;
+package xml;
+import de.anomic.http.httpHeader;
+import de.anomic.plasma.plasmaSwitchboard;
+import de.anomic.server.serverObjects;
+import de.anomic.server.serverSwitch;
+import de.anomic.yacy.yacyCore;
+import de.anomic.yacy.yacySeed;
+
+public class status_p {
+
+
+ public static serverObjects respond(httpHeader header, serverObjects post, serverSwitch env) {
+ // return variable that accumulates replacements
+ plasmaSwitchboard switchboard = (plasmaSwitchboard) env;
+ serverObjects prop = new serverObjects();
+ prop.put("rejected", 0);
+ yacyCore.peerActions.updateMySeed();
+ prop.put("ppm", yacyCore.seedDB.mySeed.get(yacySeed.ISPEED, "unknown"));
+ prop.put("indexingQueueSize", Integer.toString(switchboard.getThread("80_indexing").getJobCount()+switchboard.indexingTasksInProcess.size()));
+ prop.put("indexingQueueMax", Integer.toString(plasmaSwitchboard.indexingSlots));
+
+ // return rewrite properties
+ return prop;
+ }
+
+}
+
+
+
diff --git a/htroot/xml/status_p.xml b/htroot/xml/status_p.xml
new file mode 100644
index 000000000..c589ea1fa
--- /dev/null
+++ b/htroot/xml/status_p.xml
@@ -0,0 +1,9 @@
+
+
+ #[ppm]#
+
+ #[indexingQueueSize]#
+ #[indexingQueueMax]#
+
+
+