Crawler verwirft Seiten, wenn Remote-Proxy offline

Hier finden YaCy User Hilfe wenn was nicht funktioniert oder anders funktioniert als man dachte. Bei offensichtlichen Fehlern diese bitte gleich in die Bugs (http://bugs.yacy.net) eintragen.
Forumsregeln
In diesem Forum geht es um Benutzungsprobleme und Anfragen für Hilfe. Wird dabei ein Bug identifiziert, wird der thread zur Bearbeitung in die Bug-Sektion verschoben. Wer hier also einen Thread eingestellt hat und ihn vermisst, wird ihn sicherlich in der Bug-Sektion wiederfinden.

Crawler verwirft Seiten, wenn Remote-Proxy offline

Beitragvon fherb » Do Aug 13, 2015 3:32 pm

(YaCy version 1.83/9289)

Hallo!

Ausgangslage: Ich lasse mein YaCy über einen Remote-Proxy (privoxy) crawlen, damit keine Werbung indiziert wird.

Problem: Ist der Proxy nicht erreichbar, verwirft der Crawler systematisch URLs aus der Warteschlange. Ich gehe davon aus, dass hier einfach das Timeout wirkt. Nun habe ich aber unter /Settings_p.html?page=crawler das Timeout auf 0 gestellt. Da steht, dass das Timeout dann unendlich ist. Dann dürften die URLs nicht verworfen werden, sondern müssten einfach warten, bis die Verbindung wieder da ist. Oder habe ich das falsch verstanden?

Problematische Wirkung: Wenn ein Crawl in der Tiefe einer Domain unterbrochen wird und die Warteschlange sich leert, fehlen die URLs um vom bisheriegen Crawl-Zustand weiter zu gehen. Sprich: Der Crawl beendet sich. Ich müsste ihn, obwohl ich schon viele 100 Megabyte ercrawlt und indiziert habe, wieder von ganz oben suchen lassen. Sprich: Es geht von vorn los. Und das bei derzeit einigen 10 Startadressen, die als Crawls über Tage parallel laufen.

Wie kann man das Crawln zum automatischen Halt bringen, ohne dass URLs verworfen werden? Dafür ist doch eigentlich das Timeout=0 da. Oder? Gibt es da ein anderes Schalterchen?

Auch problematisch: Wenn ich mich nicht darauf verlassen kann, dass Crawls vollständig durchlaufen und bei zeitweisen Verbindungsproblemen warten, kann ich nie sicher sein, ein bestimmtes Ziel tatsächlich vollständig indiziert zu haben. Das gilt nicht nur auf den eingeschleiften Proxy bezogen, sondern auch auf die Internetverbindung und eventuelle Server-Down-Zustände der Zieldomains.

Gibt es Möglichkeiten, aus dieser Misere heraus zu kommen?

Viele Grüße
Frank
fherb
 
Beiträge: 111
Registriert: Di Nov 26, 2013 10:02 am
Wohnort: Dresden (Germany)

Re: Crawler verwirft Seiten, wenn Remote-Proxy offline

Beitragvon fherb » Fr Aug 14, 2015 10:25 pm

Update:

Gerade eben wurden wieder ständig die URLs verworfen, statt sie über den Proxy (Privoxy) zu laden. Diesmal lief der Proxy und er hatte nichts zu tun bekommen.

Ich habe ledeglich die Seite "/Settings_p.html?page=proxy" aufgerufen und ohne Änderungen auf "Submit" gedrückt -> Sofort wurden die verbleibenden URLs in der Local Crawler Warteschlange wieder über den Proxy geladen und die Indizierung geht weiter.

Zumindest für paar Minuten. Jetzt steht das System wieder an der Stelle, wo es URLs verwirft, anstatt sie über den Proxy abzufragen. Der Proxy läuft übrigens auf dem gleichen System.

Ich habe die eben beschriebene "Submit"-Lösung nochmal probiert und es geht jetzt gar nichts mehr. Der Proxy läuft, aber die URLs werden von YaCy verworfen.

----> WAS ist eigentlich der No-Load-Crawler?? Da stand eine größere Zahl drin, die jetzt abgearbeitet wurde. Nachdem sie bei 0 angelangt ist, läuft der Crawl über den Proxy wieder! Inzwischen sammeln sich aber erneut "No-Load-Crawls". Was hat es damit auf sich? Habe ich beim Crawlen jetzt Webseiten "verloren"?

Viele Grüße
Frank
fherb
 
Beiträge: 111
Registriert: Di Nov 26, 2013 10:02 am
Wohnort: Dresden (Germany)

Re: Crawler verwirft Seiten, wenn Remote-Proxy offline

Beitragvon fherb » Fr Aug 14, 2015 10:49 pm

Mhm!?? Eigentlich arbeitet jetzt dauernd nur noch dieser No-Load-Crawler.

Dabei habe ich die selben reichlich 30 Crawls aus dem Process Scheduler gestartet, wir bei meinen vorherigen Läufen auch. Die Datenbank habe ich vorher gelöscht. Ich versteh' das nicht.

Gruß Frank
fherb
 
Beiträge: 111
Registriert: Di Nov 26, 2013 10:02 am
Wohnort: Dresden (Germany)

Re: Crawler verwirft Seiten, wenn Remote-Proxy offline

Beitragvon fherb » Fr Aug 14, 2015 11:47 pm

... also ich verstehe das nicht.

--- Nebenbei: Ich beschreibe weiter unten mein eigentliches Einsetzungs-Szenario. Vielleict kann mir jemand grundsätzlich helfen. Es handelt sich inhaltlich, in der Anwendung, um eine eigene, ehrenamtliche Initiative. Das vollständige System wird nicht zum Geldverdienen existieren. Aber, wenn es läuft, wird es nicht nur mich erfreuen. ---

Mit der gleichen Prozess Scheduler-Liste habe ich in der embedded solr-Datenbank die letzten Tage systematisch Crawlen und indizieren können. Mach ich das nun mit der externen Datenbank, wird das ständig unterbrochen und der No-Load-Crawler wird in der Zeit ohne Input in die Datenbank abgearbeitet. Dieser Anteil ist zeitlich größer, als die Crawl-Tätigkeit. Deutlich größer.

Ich habe YaCy die letzten Monate und in Abständen auch die letzten 3 Jahre getestet und in der Doku und den Foren gelesen, um zu verstehen, was abläuft. Jetzt endlich möchte ich ein Produktiv-System aufsetzen. Und ich stehe auf einmal wieder vor offenen Fragen. Das ist nicht schön! Wenn mir jemand beschrieben kann, was da abläuft, wäre ich sehr dankbar.

Mein Ziel ist, ein sicher funktionierendes System für einen bestimmten (gesellschaftlich relevanten, nicht kommerziellen) Zweck zum Laufen zu bringen. Aus den bisherigen Erfahrungen mit YaCy habe ich mich entschieden, es folgendermaßen zusammenzusetzen:

* die solr-Datenbank läuft auf einem eigenen System, dass leistungsmäßig darauf angepasst ist (RAM, Prozessorkerne)
* die Datenbankinhalte kommen aus Crawls von vielen Domains, dort jedoch aus speziellen Bereichen (Unterverzeichnissen, untergeordneten Blogs)
* aus dem Grund verwende ich ein YaCy dazu, diese Inhalte einmalig in der vollständigen Tiefe zu ercrawlen
* ein zweites YaCy-System beobachtet den obersten Leven (meist eigent sich das rss-xml-File dazu) und ercrawlt alles Neues, um die Datenbank dauerhaft up-to-date zu halten
* ein drittes YaCy-System dient ausschließlich der Such in der solr-Datenbank
* nur dieses letzte YaCy-System wird in ein Frontend für den Nutzer integriert.
* für die Crawlings, wird ein Privoxy-System zwischengeschaltet, um indizierung von Werbung zu vermeiden (Das funktioniert prinzipiell ausgezeichnet, wie ich die letzten Tage sehen konnte.)

Mit dieser Anordnung kann ich die einzelnen Aufgaben sinnvoll und kostenspaarend auf passende Systeme verteilen. Wo aus Gründen der permanenten Verfügbarkeit notwendig bei einem Hoster, sonst sogar zu Hause bei glücklicherweise hoher Bandbreite. Ich denke, nach all den langen Tests und Versuchen mit YaCy, dass so eine Anordnung für ein öffentliches Produktivsystem vorteilhafter ist, alls sämtliche Funktionen in eine einzige YaCy-Installation zu konzentrieren.

Und trotzdem komme ich, jetzt, vor der tatsächlichen Implementierung eines Produktivsystems wieder an die Grenzen. Wer kann helfen? Ich weiß, es ist gerade Urlaubszeit. Und auch in meinem Arbeitszimmer herrschen trotz Lüften nachts endlich mal Temperaturen unter 35 Grad.

Beste Grüße
Frank

Beste Grüße, Frank.
fherb
 
Beiträge: 111
Registriert: Di Nov 26, 2013 10:02 am
Wohnort: Dresden (Germany)

Re: Crawler verwirft Seiten, wenn Remote-Proxy offline

Beitragvon sixcooler » Sa Aug 15, 2015 9:49 am

Hallo Frank,

leider gibt es meines Wissens nach noch keinen alive-check des Proxy - der die Crawls pausiert.
So cool ich Dein Vorhaben auch finde, fehlt mir gerade die Zeit das mal zu implementieren.

Wieso klappt der privoxy eigentlich zusammen?

Kannst Du nicht evtl auch mit YaCy-Filter den gleichen Effekt realisieren?

Cu, sixcooler.
sixcooler
 
Beiträge: 494
Registriert: Do Aug 14, 2008 5:22 pm

Re: Crawler verwirft Seiten, wenn Remote-Proxy offline

Beitragvon fherb » Sa Aug 15, 2015 12:56 pm

Hallo sixcooler,

Danke für die Antwort!

YaCy-Filter würde theoretisch genau so gehen. Bei privoxy kann ich mir aber die Filter für alle gewünschten Sprachen aus Adblock Plus erzeugen lassen. Und da das Filter selbst sehr rechenintensiv ist, läuft privoxy auf einem anderen System. Das lastet YaCy mit 100% aus. Damit wird zwar das Crawling gebremst, aber YaCy an sich nicht. Und ich muss mich nicht um die Justierung des PPM des Crawlers kümmern. Den Wert stelle ich einfach hoch und das Privoxy-System bringt einfach immer 100%. Egal, wie umfangreich die aktuell gecrawlten Seiten sind.

Nicht Privoxy war ausgestiegen, wie ich später mitbekommen habe, sondern bei dem V-Server gab es ein Netzwerk-Problem, dass erst nach Stunden gelöst wurde.

Aber Danke: Wenn ich das weiß, dass es halt so ist, muss ich mir ein Script machen, dass den Proxy (und damit auch die Netzwerkverbindung) überwacht und gegebenenfalls das YaCy, dass die Crawlings macht, herunterfährt.

Viele Grüße
Frank
fherb
 
Beiträge: 111
Registriert: Di Nov 26, 2013 10:02 am
Wohnort: Dresden (Germany)


Zurück zu Fragen und Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste

cron