Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 获取Facebook好友的位置非常耗时_Ruby_Performance_Algorithm_Facebook_Facebook Graph Api - Fatal编程技术网

Ruby 获取Facebook好友的位置非常耗时

Ruby 获取Facebook好友的位置非常耗时,ruby,performance,algorithm,facebook,facebook-graph-api,Ruby,Performance,Algorithm,Facebook,Facebook Graph Api,在这个算法中,我循环通过每个朋友找到他们的位置,但这是非常低效的。。。对于100个朋友来说,这个脚本需要2分钟以上的时间…有人能建议一个更有效的解决方案吗 我正在使用考拉API和RubyonRails。。。谢谢 改用FQL,您也可以通过RESTAPI发布查询 这个查询应该是这样的 选择。。。从隐藏在中的用户从uid1=me的朋友中选择uid2您可以使用一次发送20个查询。但是FQL可能是一种更好的方法,我还没有听说它被弃用。FQL不是被弃用了吗?我已经用你的建议把它缩短到30秒了,谢谢:@fri

在这个算法中,我循环通过每个朋友找到他们的位置,但这是非常低效的。。。对于100个朋友来说,这个脚本需要2分钟以上的时间…有人能建议一个更有效的解决方案吗


我正在使用考拉API和RubyonRails。。。谢谢

改用FQL,您也可以通过RESTAPI发布查询 这个查询应该是这样的


选择。。。从隐藏在中的用户从uid1=me的朋友中选择uid2

您可以使用一次发送20个查询。但是FQL可能是一种更好的方法,我还没有听说它被弃用。

FQL不是被弃用了吗?我已经用你的建议把它缩短到30秒了,谢谢:@friends[1..100]。每个都做| f | p@fb|u api.FQL|u queryselect name,当前位置从用户那里uid={f['id'}结束
@friends[1..100].each do |f| # 'f' contains basic friend info (name, uid)
  friend = get_friend(f['id']) # 'friend' gets data for each friend
  if friend.has_key?('location')
     @friends_locations[friend['name']] = friend['location']['name'] 
    end
  end