0

我有一个复杂的 php cron 作业,它从外部网页检索数据并将所有信息加入一个以 json 编码的变量中。整个过程非常缓慢,需要很多时间。

关键是我需要从我的索引页面中检索 json 对象,但我不想加载所有脚本,因为执行时间太长。我一直在做的是告诉 cron 作业创建一个新文件并写入 json 对象,我一直在从该文件中检索信息。

我想知道是否有更有效/更简单的方法来传输这些信息,而无需创建新文件或“手动”执行脚本。我听说你可以使用 CURL 发送信息,事实上我以前从未使用过这种技术,所以不知道它在这种情况下是否有用。

4

1 回答 1

0

这是一个很常见的问题。长时间运行的任务不应在页面加载时执行,因为它会影响用户体验。让您的时间密集型 php 脚本作为 cron 作业运行是一个很好的解决方案。也许使用数据库会更容易。您可以轻松地使用sqlite或“成熟”的 rdbms 来存储您的数据(如 mysql 或 postregs)。它可能是这样的:

时间密集型 php 脚本每 x 分钟在 cronjob 上运行一次。将数据保存到您的数据库而不是文件。

当用户请求索引页面时,它会将 ajax 请求发送到另一个 php 脚本。php 脚本在您的数据库中查找数据并将其返回给您的用户(如果存在)。

于 2012-10-30T14:44:38.803 回答