2011-08-17 53 views
0

我编写了一个脚本,它使用cURL提取当前最佳Twitter趋势,并且它在本地100%的时间工作,但是当我将它FTP到我的中介服务器时,它似乎只有时候工作。这是由Twitter引起的? MEDIATEMPLE?我的代码中有一些错误?Twitter API在本地工作,但在远程服务器上很不稳定

编辑:我如何缓存平面文件中的内容?

+0

失败时出现什么错误? – joet3ch

+0

也许你正在从远程服务器达到速率限制? – zigdon

+0

@ joet3ch,没有错误,只是没有返回。 – 585connor

回答

1

如果代码工作有时这意味着它不符合你的代码中的问题,所以有潜在的怪两个逻辑方面:

1)Web服务器负载

这可能是您的服务器陷入困境。如果服务器(不仅仅是您的网站 - 考虑这个如果您在共享主机上)正在经历沉重的负载,那么可能需要您的服务器太长以完成卷曲请求。打击这种尝试和使用增加请求超时时间如下:

CURLOPT_CONNECTTIMEOUT 

2)Twitter的速率Limmit

Twitter限制API呼叫的数目可以从每小时授权帐户做(我相信这个数字大概是100ish--检查他们的API文档)如果你达到这个限制,你将被拒绝进一步的电话,直到第一次电话的1小时周年。为了解决这个问题,要么cron作业以设定的时间间隔运行curl,并将结果缓存在文本文件或数据库中,要么存储每个请求的时间并使用IF仅允许每2或3分钟发出一个请求,结果并从缓存中提取结果。

每次页面加载时对Twitter API进行调用会浪费资源,带宽并可能减少页面加载时间。

相关问题