我想在後臺運行一個特別昂貴的fql查詢,將結果記錄到數據庫,並在稍後檢索,而用戶不必等待每一步。如何在後臺運行fql請求? (通過php的異步API調用)
你能分享一個如何異步運行facebook請求的例子嗎?
main.php
$uid = $facebook->getUser();
if ($uid) {
try {
echo $user;
////////////////////////////////////////////////////////
// Run lengthy query here, asynchronously (async.php) //
////////////////////////////////////////////////////////
// //
// For example: $profile = $facebook->api('/me'); //
// (I know this request doesn't take long, but //
// if I can run it in the background, it'll do. //
// //
////////////////////////////////////////////////////////
} catch (FacebookApiException $e) {
echo $e;
}
}
async.php
$profile = $facebook->api('/me');
$run = mysql_query("INSERT INTO table (id) VALUES (" . $profile['id'] . ");";
complete.php
echo getProfileId(); // assume function grabs id from db, as stored via async.php
我開始使用exec(),但我很難通過所有必需的參數來完成這個工作。相反,我最終會有一個全新的會話和一個未連接的Facebook對象。 – Ryan