Cron在执行一段时间后停止

时间:2016-01-28 06:03:41

标签: php mysqli cron

我在服务器中有一个cron,它设置为2 6 *** wget http://test.com/test.php

在此文件中,它会获取10000条记录并进行操作。 当我执行此文件时,它会在执行一段时间后停止(可能是,它达到了最大执行时间。没有应用程序错误,因为它适用于少量记录)。

我有一个解决方案,先取100条记录然后处理,关闭mysql连接,再睡2分钟,然后接下来的100条记录。

它会解决执行时间问题还是两者都有效?

1 个答案:

答案 0 :(得分:0)

如果你睡了两分钟,脚本将达到默认的最大值。在第一个睡眠周期内执行时间为30秒。

您可以使用

增加该限制
ini_set("max_execution_time", 300); //for 5 minutes

然而,它只是一个症状修复,而不是一个真正的解决方案,或者更改你的算法,以便你的记录分成几组,然后可以由一个接一个地运行的几个cronjobs顺序处理,或者由几个cronjobs平行处理同时,php pthreadsforking - 如果这两个选项适用于您的服务器配置。

但是,您应该手动检查cronjob的输出,以查找执行时间以外的可能问题,例如内存泄漏。