【发布时间】:2012-06-07 05:52:27
【问题描述】:
我有一个不常见的自定义站点地图生成器 cron 脚本,我需要在当前位于 HostGator 共享服务器上的站点上运行。生成器脚本是用 PHP 编写的,并使用以下 cron 命令执行:
php public_html/mysite.com/core/update.php > update.log
生成过程涉及调用内部 API 并根据结果进行距离计算,因此脚本通常需要 5-10 分钟才能运行。对于 HostGator 的共享服务器,硬编码的 PHP 运行时限制为 30 秒。
有什么方法可以让我的脚本分解成更小的进程?有谁知道将其转码成 Perl 或 Python 是否会超过 30 秒的限制?
【问题讨论】:
-
打破你的热门条款和条件绝不是一个好主意,如果你需要这样的资源,看起来是时候使用你自己的服务器了。
-
@MarathonStudios - HostGator 不允许更改 max_execution_time。如果您需要一些帮助来尝试弄清楚如何将脚本分解为更小的脚本(或者优化它),您介意发布脚本吗?
-
@Francois set_time_limit() 怎么样?
-
有没有办法将项目标记为完成,所以如果脚本死了,你可以重新启动它,让它从你离开的地方继续?也许选择了今天之前最后更新的所有项目或类似的东西?
-
0xAli - 我早些时候将其作为答案发布,并在我意识到 HostGator 明确声明您无法更改时间限制后将其删除。该“可能”有效,但即使有效,也将违反使用条款。