我正在开发一个简单的facebook应用程序,我在其中存储:
Facebook好友ID
表结构:
表名: facebook_mapping值:
app_id fb_id
1 100003996070108
2 100003960002436
3 100003955972927
4 100003955972924
使用fql查询:
SELECT uid2 FROM friend WHERE uid1=FACEBOOK_USER_ID
这对少于200个的朋友很有效。但是如果一个用户有超过200个好友,当我第一次运行应用程序页面时,它总是超时。我认为它需要超过30秒,而我的服务器有一个限制,它将在30秒后超时。
我使用的是PHP和MySQL。我认为一种解决方案是:
1)首先只获取该用户的20个好友并将其添加到数据库中2)运行后台进程以收集其他好友
请帮助我设置一个后台进程来收集朋友或一些其他方法来做到这一点。
谢谢。
发布于 2012-06-24 12:08:02
如果是PHP脚本在插入数据时超时(而不是API请求本身)-那么您到底是如何将数据添加到表中的?
您是否在200+循环或其他什么地方对数据库执行PHP单个INSERT语句?
如果是这样,请尝试将所有数据(或其中更大的数据块)放入多行INSERT语句中,其形式为
INSERT INTO table (column1, column2)
VALUES (1, '100003996070108'), (2, '100003960002436'), (…)
这应该有助于防止PHP脚本超时,因为您不必对数据库进行如此多的单独查询。
发布于 2012-06-23 22:33:35
这似乎不是Facebook API的问题,只是您在我们的服务器上配置的超时。背景线程是一个很好的想法。
https://stackoverflow.com/questions/11173308
复制相似问题