【发布时间】:2012-06-24 00:56:19
【问题描述】:
Twitter 目前已关闭,我网站的一个主页依赖于从 Twitter 获取数据(依赖是问题所在 - 它应该更多是一个附属功能,因为它只是显示来自其供稿的关注数)。
这是有问题的代码:
function socials_Twitter_GetFollowerCount($username) {
$method = function () use ($username) { return file_get_contents('https://api.twitter.com/1/users/show.json?screen_name='.$username.'&include_entities=true'); };
$json = cache('bmdtwitter', 3600, $method, false);
$json = json_decode($json, true);
return intval($json['followers_count']);
}
有什么好的方法可以做到这一点,如果 Twitter 关闭(或在一段合理的时间内没有响应),我们的网站似乎没有关闭(我认为超时可能默认为 30-60 秒或更多)。
【问题讨论】:
-
我认为一个好的开始是考虑将工作卸载到每小时(或类似)运行的 cron 任务以获取最新数据,然后可能将其存储在数据库中并从中提取。这是一个坏主意 - 有更好的解决方案吗?
-
我认为 cron 解决方案是有道理的,而且可能一天只有几次。除非追随者的数量迅速变化了一个数量级。只是好奇,为什么有 memcached 标签而没有 php 标签?
-
非常公平的问题,Spaceghost... 我应该在 StackOverflow 上发布这个开始(然后我会想到 PHP),但出于某种原因,我认为它在 Web 开发部分是有意义的。我会更新标签...我想我会选择 cron 解决方案并将我们的答案作为解决方案发布。谢谢!
标签: php twitter cron memcached