【发布时间】:2015-06-23 05:36:28
【问题描述】:
我有一个提供 RSS 提要的 PHP 网页,但生成响应大约需要 15-20 秒(然后将在服务器上缓存 10 分钟以加快响应速度)。
如何为这个操作设置一个 cron 作业时间?我有这个问题。我想如果我在 10 分钟之前调用该页面,它将运行缓存页面,因此我不会获得最新更新的页面,这是真的吗?如果我在 10 分钟后调用该页面,那么我是否需要等待 15-20 秒才能得到响应?
我如何设法使这个过程能够快速响应更新的提要?我以前没有尝试过cron作业,这是我第一次,所以我觉得这很混乱。
我的 cron 命令是:*/10 * * * * wget http//www.example.com/multifeed.php
对吗?
【问题讨论】:
-
你可以做类似
*/10 * * * * php /path/to/script.php > /path/to/rss.xml的事情。您的 cron 通常使用crontab -e配置,但有些主机提供了一个控制面板。是的,如果您每 10 分钟缓存一次,那么您提供的 RSS 将在 0-10 分钟之间,具体取决于您的 cron 触发时间和用户访问时间。 -
(缓存通常是一个好主意,虽然 15-20 秒听起来确实很慢,您也可能希望解决这个问题)。
-
@halfer 它从 3rd 方站点获取提要,所以我相信它需要这么多才能调用 3rd 方页面并提供服务。但问题是我什么时候应该调用 php 脚本来运行该页面?
-
对了,第三方系统可能会比较慢,好吧。我不确定我是否理解您的后续问题 - 上面的行在您的 crontab 中。 Cron 每 10 分钟自动运行一次脚本,并编写一个 XML 文件,您的 Web 服务器可以按原样提供该文件。
-
我通过增加超时找到了解决这个问题的方法。我知道这不是最佳实践。因此,一位用户现在必须等待 15 秒,而其他用户将获得更快的响应。在 Multifeed.php 中,我没有使用单行 xml 代码。