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 …)













