链接cron脚本以获得大约30秒的运行时限制

时间:2011-06-23 03:41:36

标签: php cron hosting

我有一个不常见的自定义站点地图生成器cron脚本,我需要在当前位于HostGator共享服务器上的站点上运行。生成器脚本是用PHP编写的,并使用以下cron命令执行:

php public_html / mysite.com / core / update.php> Update.log中

生成过程涉及调用内部API并根据结果进行距离计算,因此脚本通常需要5-10分钟才能运行。 HostGator的共享服务器的硬编码PHP运行时限制为30秒。

有什么方法可以让我的脚本分解成更小的进程?有没有人知道将它转码为Perl或Python是否会达到30秒的限制?

2 个答案:

答案 0 :(得分:2)

把这个

set_time_limit(30);

在代码花费大部分时间的函数或循环中应该可以解决问题。

答案 1 :(得分:1)

你可以尝试分叉。您需要确保每个fork都可以执行它的工作并在30秒内创建一个新的fork。由于fork是正在运行的进程的副本,因此您保留了迄今为止所提取的所有数据。

或者,使用multi-curl立即使用多个请求来爆破服务器,并在30秒内完成整个过程。当然,你需要适当地划分工作。