实时网站的自动数据库更新

时间:2013-05-29 22:20:23

标签: php xml database real-time

我正在尝试构建一个网站,该网站将显示来自另一个网站上的XML Feed的实时(或接近它)数据。我知道如何使用jquery,AJAX和PHP定期从MySQL数据库中提取数据(每1到3秒),我遇到的问题是弄清楚如何用新的XML更新数据库本身数据每1或2秒。我还需要保留所有数据的历史记录。

我能够编写一个PHP脚本来获取XML数据并更新数据库,但我不知道如何安排这个脚本每秒运行一次而不是由任何用户启动。到目前为止,我的研究已经向我指出了cron,但我的主持人没有提供它,它似乎并不打算用于这种频繁的更新。我不知道PHP是否也是最佳方法。

任何想法或指示都会受到高度赞赏,我不介意研究实施的具体细节,但我现在甚至不知道如何有效地解决我的问题。

2 个答案:

答案 0 :(得分:0)

此请求有各种解决方案。

最简单的方法是使用外部服务,例如

http://www.webcron.org/online-cron

它可以每分钟运行一次。因此,您可以获得尽可能多的数据,并在数据插入数据库时​​缓存数据。 但如果你不想花钱,你应该去寻找别的东西。

另一种方法可能是创建一个PHP递归函数,一个曾经开始的循环永远不会结束。 因此,在循环找到目标网站上的数据之前,它将继续运行。这意味着你只需要启动循环一次。 请确保不要回显任何内容,否则一旦离开页面,循环就会停止。

此外,您可能需要使用PHP进行一些技巧。

同时检查http://php.net/manual/en/function.ignore-user-abort.php

希望有所帮助

答案 1 :(得分:0)

考虑存储上次更新时间的时间戳,并且仅在您所需的时间间隔已过去时更新,而不是安排此类频繁更新。

您还可以考虑使用锁定方案,以确保在另一个线程已经在执行更新的过程中不会启动新的更新。