我目前正在开发一个应用程序,从一个赛车网站上获取关于灰狗的信息,并对给定的数据进行一些计算。当前应用程序根据用户输入在赛车网站上执行单独的YQL请求,从而设法正确显示数据并执行正确的计算。
但是,我发现由于大量的HTTP调用和缺乏数据缓存,应用程序的速度往往有点慢。为了加快速度,并打开进一步分析数据的能力,我想建立某种系统,通过cron选项卡在前天晚上对所有相关数据进行刮擦和存储。然而,我不知道该怎么做。
目前,应用程序经历了以下粗略的过程:
dog
h 19执行YQL查询并遍历结果,根据每条狗执行的比赛获得每个统计数据所执行的所有比赛<代码>H 212H 113>输出所有H 214G 215>
正如您所看到的,有相当多的独立HTTP请求。这是不可避免的,因为每个数据集存在于不同的网页上的赛车网站。因此,我更希望通过一个单独的系统将大部分处理排除在外,并将数据存储在数据库中,而不是在用户请求时获取和处理数据。
我可以轻松地从当前系统中提取提取和计算处理,并让它们从cron选项卡上运行,但它们都是从单个PHP请求中运行的。这意味着服务器必须遍历数千条数据,将每组数据存储在一个数据库中,所有这些数据都在一个PHP请求中。如果没有尝试过,我会假设请求会超时?
总之,以下是我的问题:
如果我把处理放在一个PHP文件中并从cron运行它,它是在完成任务之前超时,还是只会继续努力?是否有任何预先存在的库来处理这样的任务?对实现这个任务的其他方法有什么想法吗?。
非常感谢,
丹
发布于 2011-03-02 00:12:25
大量抓取站点,按需缓存如何?
这可能更容易实现,而且如果他们的TOS不允许爬行(可能不允许),也不会使竞赛站点产生怀疑。
您只需要一个本地sql表,该表按日期键控,并为您已经输出的统计信息提供列。
你的流量会像
date
H 222G 223/code>https://stackoverflow.com/questions/5161921
复制相似问题