2012-04-11 4 views
0

nach dem Durchlesen aller Twitter-Streaming-API und Phirehose PHP-Dokumentation Ich bin auf etwas gestoßen, das ich noch tun muss, sammeln und verarbeiten Daten separat.Sammeln und Verarbeiten von Daten mit PHP (Twitter Streaming API)

Die Logik dahinter, wenn ich richtig verstehe, ist es, einen Protokollstau in der Verarbeitungsphase zu verhindern, die den Sammelvorgang sichern wird. Ich habe schon Beispiele gesehen, aber sie schreiben direkt nach der Sammlung direkt in eine MySQL-Datenbank, die gegen das, was Twitter Ihnen empfiehlt, zu laufen scheint.

Was ich möchte, ist ein Ratschlag/Hilfe auf, was ist der beste Weg, damit umzugehen und wie. Es scheint, dass Leute empfehlen, alle Daten direkt in eine Textdatei zu schreiben und sie dann mit einer separaten Funktion zu analysieren/zu verarbeiten. Aber mit dieser Methode würde ich annehmen, dass es ein Gedächtnisschwund sein könnte.

Hier ist der Haken, es wird alles als Daemon/Hintergrund-Prozess laufen. Hat also jemand Erfahrung mit der Lösung eines Problems, genauer gesagt, der twitter phirehose Bibliothek? Vielen Dank!

Einige Anmerkungen: * Die Verbindung wird durch einen Sockel sein, also meine Vermutung ist, dass die Datei ständig angehängt wird? nicht sicher, ob jemand dazu eine Rückmeldung hat

Antwort

1

Die phirehose Bibliothek kommt mit einem Beispiel, wie man das macht. Siehe:

Diese eine flache Datei verwendet, die sehr skalierbar ist und schnell, das heißt: Ihre durchschnittliche Festplatte kann schreiben nacheinander bei 40 MB/s + und skaliert linear (dh im Gegensatz zu einer Datenbank wird es nicht langsamer, wenn es größer wird).

Sie benötigen keine Datenbankfunktionalität, um einen Stream zu konsumieren (dh: Sie wollen nur den nächsten Tweet, es gibt keine "Abfrage").

Wenn Sie die Datei ziemlich oft drehen, erhalten Sie (falls gewünscht) eine nahezu Echtzeit-Performance.