mirror of
https://github.com/yacy/yacy_search_server.git
synced 2024-09-21 00:00:13 +02:00
da86f150ab
This organizes all urls to be loaded in separate queues for each host. Each host separates the crawl depth into it's own queue. The primary rule for urls taken from any queue is, that the crawl depth is minimal. This produces a crawl depth which is identical to the clickdepth. Furthermorem the crawl is able to create a much better balancing over all hosts which is fair to all hosts that are in the queue. This process will create a very large number of files for wide crawls in the QUEUES folder: for each host a directory, for each crawl depth a file inside the directory. A crawl with maxdepth = 4 will be able to create 10.000s of files. To be able to use that many file readers, it was necessary to implement a new index data structure which opens the file only if an access is wanted (OnDemandOpenFileIndex). The usage of such on-demand file reader shall prevent that the number of file pointers is over the system limit, which is usually about 10.000 open files. Some parts of YaCy had to be adopted to handle the crawl depth number correctly. The logging and the IndexCreateQueues servlet had to be adopted to show the crawl queues differently, because the host name is attached to the port on the host to differentiate between http, https, and ftp services.
97 lines
3.2 KiB
HTML
97 lines
3.2 KiB
HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
|
<head>
|
|
<title>YaCy '#[clientname]#': '#[queuename]#' Crawl Queue</title>
|
|
#%env/templates/metas.template%#
|
|
</head>
|
|
<body id="IndexCreateQueues">
|
|
|
|
<div id="fullcontent">
|
|
#(embed)#
|
|
#%env/templates/header.template%#
|
|
#%env/templates/submenuCrawlMonitor.template%#
|
|
<h2>'#[queuename]#' Crawl Queue</h2>
|
|
::#(/embed)#
|
|
<div id="api">
|
|
<a href="api/latency_p.xml" id="apilink"><img src="env/grafics/api.png" width="60" height="40" alt="API"/></a>
|
|
<span>Click on this API button to see an XML with information about the crawler latency and other statistics.</span>
|
|
</div>
|
|
|
|
#(crawler)#
|
|
<p>This crawler queue is empty</p>
|
|
::
|
|
#(embed)#
|
|
<form action="IndexCreateQueues_p.html" method="post" enctype="multipart/form-data" accept-charset="UTF-8">
|
|
<fieldset>
|
|
Delete Entries:
|
|
<input type="text" name="pattern" value="#[deletepattern]#" size="40" maxlength="200" />
|
|
<select name="option" size="1">
|
|
<option value="5">Initiator</option>
|
|
<option value="3">Profile</option>
|
|
<option value="4">Depth</option>
|
|
<option value="6">Modified Date</option>
|
|
<option value="2">Anchor Name</option>
|
|
<option value="1" selected="selected">URL</option>
|
|
</select>
|
|
<input type="hidden" name="stack" value="#[queuename]#" />
|
|
<input type="submit" name="delete" value="Delete" />
|
|
</fieldset>
|
|
</form>
|
|
::#(/embed)#
|
|
<table border="0">
|
|
<colgroup>
|
|
<col width="5" />
|
|
<col width="10" />
|
|
<col width="30" />
|
|
<col width="10" />
|
|
<col width="10" />
|
|
<col width="10" />
|
|
<col width="10" />
|
|
<col width="10" />
|
|
<col />
|
|
</colgroup>
|
|
<tr class="TableHeader">
|
|
<th>Count</th>
|
|
<th>Delta/ms</th>
|
|
<th>Host</th>
|
|
<th>Initiator</th>
|
|
<th>Profile</th>
|
|
<th>Depth</th>
|
|
<th>Modified Date</th>
|
|
<th>Anchor Name</th>
|
|
<th>URL</th>
|
|
</tr>
|
|
#{host}#
|
|
<tr class="TableCellDark">
|
|
<td>#[hostcount]#</td>
|
|
<td>#[hostdelta]#</td>
|
|
<td><a href="IndexCreateQueues_p.html?#(embed)#::embed=&#(/embed)#delete=&stack=#[queuename]#&option=1&pattern=.*#[hostname]#.*&urlsPerHost=#[urlsPerHost]#"><img src="env/grafics/trash.gif"></a> #[hostnameport]#</td>
|
|
<td colspan="6"></td>
|
|
</tr>
|
|
#{list}#
|
|
<tr class="TableCellLight">
|
|
<td colspan="3"></td>
|
|
<td>#[initiator]#</td>
|
|
<td>#[profile]#</td>
|
|
<td>#[depth]#</td>
|
|
<td>#[modified]#</td>
|
|
<td>#[anchor]#</td>
|
|
<td><a href="#[url]#" target="_blank">#[url]#</a></td>
|
|
</tr>
|
|
#{/list}#
|
|
</td>
|
|
</tr>
|
|
#{/host}#
|
|
#(/crawler)#
|
|
#(embed)#
|
|
#%env/templates/footer.template%#
|
|
::#(/embed)#
|
|
</div>
|
|
<script type="text/javascript">
|
|
<!--
|
|
parentPage = parent.document.getElementById('QueuesTable');
|
|
if (parentPage != null) parentPage.height = document.getElementById('fullcontent').offsetHeight + 30;
|
|
-->
|
|
</script>
|
|
</body>
|
|
</html> |