Mehrere Graph Aktionen mit CURL Multi-Threading ausführen

- Gastbeitrag von Stephan Alber -

Problemstellung und Lösung
Das Veröffentlichen von Inhalten über die neue Facebook Graph API sollte die meisten Entwickler nicht vor große Probleme stellen. Es sei denn, es soll einen Vielzahl von Operationen zur selben Zeit ausgeführt werden. Das Problem: Die Kommunikation mit der Graph API beansprucht – je nach Anbindung und Serverlast – ca. 1-2 Sekunden pro Request. Bei FBML Anwendungen erwartet Facebook jedoch eine Antwort innerhalb von rund 10 Sekunden. Hierdurch kommt es schnell zu einem Timeout und somit zu einer unerwünschten Fehlerseite.

Für die Timeouts gibt es eine einfache Abhilfe: Anstatt alle Requests in Reihe auszuführen, versuchen wir parallel mehrere Verbindungen aufzubauen. Diese Funktionalität ist im PHP cURL Library integriert. Als Basis für den folgenden Lösungsansatz  wurde die cURL Klasse von David Hopkins verwendet (Download: PHP cURL Class With Multi-Threading).

Beispiel Quellcode: Mehrere Pinnwandeinträge erstellen
Im vorliegenden Beispiel wird ein Pinnwandeintrag pro Request generiert. Es können (fast) alle weiteren unter „Publishing to Facebook“ beschriebenen Funktionen über diesen Lösungsansatz verwendet werden. (weiterlesen …)

Facebook stellt HipHop für PHP vor

HipHop_logo_whiteGerüchte zu diesem Thema gab es ja schon seit längerem, nun ist es offiziell: HipHop für PHP oder kurz HPHP ist ein Beschleuniger für die beliebte Programmiersprache.

Hervorgegangen aus einem Hackathon, einem Facebook internen Programmiermarathon, entwickelte ein Team aus gerade einmal fünf Personen eine Möglichkeit die Scriptsprache PHP nach C++ zu übersetzen und dann kompilieren zu lassen. Hintergrund sind geringere Prozessorlast, geringerer Speicherverbrauch und schnellere Ausführbarkeit von kompiliertem Code.

So verbraucht Facebook, welches bereits vor knapp 6 Monaten auf HipHop umgestellt wurde im Frontend nun 50% weniger Prozessorleistung und im Backend konnte bei einer Verdopplung der Geschwindigkeit die Last noch um 30% gesenkt werden.

(weiterlesen …)

WebMediaBrands
Mediabistro | All Creative World | Inside Network
Jobs | Education | Research | Events | News
Advertise | Terms of Use | Privacy Policy
Copyright 2011 WebMediaBrands Inc. All rights reserved.