| | | | |
| |||||||
| Software-Design Diskussionen auf Profi-Niveau: PHP Lösungen auf konzeptioneller Ebene |
|
| | LinkBack | Themen-Optionen | Thema bewerten |
| | |
| PHP Code Flüsterer Registriert seit: 21.08.2005 Beiträge: 4682 PHP-Kenntnisse: Fortgeschritten | |
| | |
| Erfahrener Benutzer Registriert seit: 10.10.2009
Beiträge: 2.637
PHP-Kenntnisse: Fortgeschritten ![]() ![]() ![]() ![]() ![]() ![]() | Eine andere Sprache wäre sicher geeigneter, nur kann ich außer PHP nur Delphi ausreichend genug im Multithreading umzusetzen - und dort bin ich ledeglich in der Windoof Programmierung eingearbeitet und der Crawler sollte nach Möglichkeit sowohl auf Linux als auch auf Windoof Servern/Rechnern laufen (so kann ich meine PrivatPCs und ggf. einige Firmen PCs zum "mitcrawlen" nutzen). Es gibt auch bereits einige PHP Crawler... nur tun die leider viel mehr als nötig ist. Außerdem habe ich gerne den Lerneffekt dabei... Ich habe noch ein wenig gesucht und bin auf die Funktion proc_open() gestoßen: PHP: proc_open - Manual Wenn ich das Manual richtig verstehe müsste sich damit doch eine Art Threading erzeugen lassen. Die Crawler-Prozesse laufen dann ebenfalls in einer Schleife, solange bis der Controller ihnen sagt das sie stoppen sollen. Damit könnte der Controller auch "richtig" kontrollieren und die Datenbank würde weniger belastet da die Prozesskommunikation dann direkt zwischen den Prozessen möglich ist. |
| | |
| | |
| Moderator Registriert seit: 03.09.2004
Beiträge: 11.792
PHP-Kenntnisse: Fortgeschritten ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() | Wenn du dein Problem mit den "neuen Urls für Daemons" lösen willst, kannst du doch einfach einen speziellen Daemon starten der nichts anderes macht als neue Urls rauszugeben, sprich die anderen Daemons melden sich bei dem und verlangen neue urls, dann ruft der Vergabe-Daemon XXX urls aus der datenbank ab die noch nicht abgearbeitet sind oder die mal wieder abgerufen werden müssen, marktiert sie in der datenbank als vergeben an Daemon #X mit nem timestamp. Ansonsten kannst du ja auch für jede Instanz des Crawler eine "eigene" Datenquelle (Datei, Tabelle in der Datenbank, key in APC/Memcache ... ). Sprich du hast z.b. in der Datenbank eine tabelle: id | url | daemon | done dort holt sich jeder Daemon die ihm zugeordneten Urls ab, verarbeitet sie und setzt danach done auf 1 und time auf ide uhrzeit wo er fertig wurde. Ein anderes script ruft regelmäßig (cron oder auch permanent laufend) die tabelle ab, entfernt alles was done ist und trägt wieder neue urls ein aus der haupttabelle.
__________________ robo47.net - Blog, Codeschnipsel und mehr | |
| | |
| | ||
| Moderator Registriert seit: 03.09.2004
Beiträge: 11.792
PHP-Kenntnisse: Fortgeschritten ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() | Zitat:
__________________ robo47.net - Blog, Codeschnipsel und mehr | | |
| | |
| | |
| Moderator Registriert seit: 03.09.2004
Beiträge: 11.792
PHP-Kenntnisse: Fortgeschritten ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() | Verteilungsscript -> läuft permanent oder via cronjob alle XX Zeiteinheiten, es sorgt nur dafür dass in der zuteiltungstabelle alle einträge die done = 1 haben entfernt werden und dann wird geschaut dass für jeden Daemon wieder XXXXX einträge drin sind. Daemons rufen sich regelmäßig nach XX urls die sie gecrawlt haben aus dieser tabelle via SELECT bla, foo FROM zuteiltungstabelle WHERE deamon='%DAEMONID%' es findet also keine interaktion direkt zwischen daemon und verteilungsscript statt.
__________________ robo47.net - Blog, Codeschnipsel und mehr | |
| | |
|
| Themen-Optionen | |
| Thema bewerten | |
|
|
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| [Tipp?] Website Crawler der.. | PatrickXX30 | Off-Topic Diskussionen | 3 | 11.11.2009 08:57 |
| MVC Konzept | Babbsdrebbler | Software-Design | 6 | 30.10.2009 08:13 |
| Konzept für Bowsergame | Wiillli | Beitragsarchiv | 1 | 21.10.2009 15:18 |
| Grafiker gesucht - BG mit fertigem Konzept und Programmierern | thezug | Beitragsarchiv | 0 | 28.08.2009 15:33 |
| Besucher Name/Ip ändern | mqs | PHP Tipps 2009 | 6 | 26.06.2009 12:27 |
| [Erledigt] Konzept Newssammler | larsemann | PHP-Fortgeschrittene | 8 | 03.03.2009 17:20 |
| kleines DB Konzept | Tomte | Datenbanken | 21 | 23.08.2008 10:22 |
| dynamische Webseiten - Sitemap: Konzept | dh1sbg | PHP-Fortgeschrittene | 4 | 14.08.2007 13:23 |
| Konzept Frage (2), DB Package | greg | PHP-Fortgeschrittene | 0 | 15.07.2006 14:19 |
| Überdenken des Konzept: Eigene Bildergalerien für User | pixelcut | PHP-Fortgeschrittene | 3 | 16.01.2006 18:40 |
| Konzept GFX-Community | PHP Tipps 2005-2 | 2 | 22.08.2005 10:22 | |
| Suche Link Crawler | Beitragsarchiv | 2 | 22.06.2005 08:36 | |
| [Erledigt] Selectanfrage an eine Datenbank,aber aus mehreren Tabellen | Datenbanken | 2 | 26.10.2004 07:23 | |
| [Erledigt] Probleme beim Umsetzen von alten Konzept in Smarty | PHP-Fortgeschrittene | 4 | 13.09.2004 01:43 | |
| [Erledigt] Multigaming Warscript Konzept | PHP-Fortgeschrittene | 6 | 30.08.2004 20:56 | |