【发布时间】:2011-09-04 06:59:40
【问题描述】:
我想在后台运行一个特别昂贵的 fql 查询,将结果记录到数据库中,然后在以后检索它,而无需用户等待每一步。
您能否分享一个如何异步运行 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 对象。
标签: php facebook asynchronous facebook-fql