Php 使用API的慢速脚本
我正在写一个脚本,检查instagram用户是否被他的追随者跟踪。我将该列表存储在数据库中,出于测试目的,该列表中只有20个用户ID。剧本写得太慢了。对于35人来说,加载页面大约需要12秒。有人知道为什么这个基本脚本这么慢吗?还是仅仅是instagrams API 注意:我已经隐藏了访问令牌和我的用户id-不确定公开它是否好 代码: 以下是回应: 排列 [0]=>stdClass对象 [id]=>* [令牌]=>* [状态]=>开始 [下表] => 1161426957,191435508,1440954439,1463650509,1367056800,1446648791,1014674606,410710231,295958914,438752574,24520438,616513427,186915865,894461147,1395519590,256814697,1445364137,493354751,1455922632,1385122226,1161426957,191435508,1440954439,1463650509,1367056800,1446648791,1014674606,410710231,295958914,438752574,24520438,616513427,186915865,894461147,1395519590 不跟不跟不跟不跟不跟不跟 不跟随不跟随不跟随不跟随不跟随不跟随 跟随不跟随不跟随不跟随不跟随不跟随不跟随 不跟随不跟随不跟随不跟随不跟随不跟随 跟随不跟随不跟随不跟随不跟随不跟随不跟随 不跟随不跟随不跟随不跟随不跟随不跟随 跟随不跟随不跟随不跟随不跟随不跟随不跟随 不跟不跟不跟不跟不跟不跟Php 使用API的慢速脚本,php,api,instagram,Php,Api,Instagram,我正在写一个脚本,检查instagram用户是否被他的追随者跟踪。我将该列表存储在数据库中,出于测试目的,该列表中只有20个用户ID。剧本写得太慢了。对于35人来说,加载页面大约需要12秒。有人知道为什么这个基本脚本这么慢吗?还是仅仅是instagrams API 注意:我已经隐藏了访问令牌和我的用户id-不确定公开它是否好 代码: 以下是回应: 排列 [0]=>stdClass对象 [id]=>* [令牌]=>* [状态]=>开始 [下表] => 1161426957,191435508,14
我认为问题在于API。 您确定API是否打算以这种方式使用吗 我建议您为Instagram API的调用做一个基准测试,这样您就可以检查需要多少秒 因此,您应该添加以下代码: 如果在开发环境中遇到此问题,可以检查在生产环境中需要多少时间 我希望这对你有帮助。我应该一开始就做卷发。这完全解决了所有问题,脚本运行速度大大加快。
对于浏览此页面的其他人来说,instagram API速度慢且不稳定。每次交互可以拨打的电话越少越好。如果您有100多个电话,我建议您添加的代码有一个输入错误$echo上的star\u时间应为$start\u时间。但是是的,API应该以这种方式使用,因为它甚至有自己的函数来获取用户状态。平均通话时间约为0.4分钟,我想也许一个卷曲倍数可以加快通话速度。有人能证实这一点吗?我现在正在谷歌上搜索,并试图了解它。
<?php
require_once 'instagram.class.php';
session_start();
$mysqli = new mysqli("***","***","***","***");
if ($mysqli->connect_errno) {
printf("Connect failed: %s\n", $mysqli->connect_error);
exit();
};
if ($result = $mysqli->query("SELECT * FROM Jobs")) {
while($obj = $result->fetch_object()){
$group_arr[] = $obj;
};
$userid = $group_arr[0]->id;
$token = $group_arr[0]->token;
$status = $group_arr[0]->status;
$list = explode(",", $group_arr[0]->follower_list);
$result->close();
};
echo "<pre>";
print_r($group_arr);
echo "</pre>";
// check authentication
if ($token === false) {
// authentication failed - throw an error
//error placeholder
} else {
$instagram->setAccessToken($token);
foreach($group_arr as $job) {
if($status=="start"){
foreach($list as $entry){
$call = $instagram->getUserRelationship($entry)->data->outgoing_status;
if($call == "follows"){
echo "follows<br>";
}else{
echo "doesn't follow<br>";
};
};
}else{
//it's marked as stop, do nothing.
};
};
};//close it out
?>
foreach($group_arr as $job) {
if($status=="start"){
foreach($list as $entry){
//MODIFY HERE---
$start_time = microtime(true);
$call = $instagram->getUserRelationship($entry)->data->outgoing_status;
$end_time = microtime(true);
echo "getUserRelationship for: ", $entry, " takes ", ($end_time - $start_time), "ms\n<br />\n";
//--------------
if($call == "follows"){
echo "follows<br>";
}else{
echo "doesn't follow<br>";
};
};
}else{
//it's marked as stop, do nothing.
};
};