我有一个cronjob导入一个巨大的文件然后处理它。导入过程需要花费大量时间,但是600秒后我运行脚本的服务器将中止cronjob(超时)。在与服务器技术人员交谈后,他告诉我在导入过程中需要输出,以便脚本在10分钟后不会中止。
我现在的问题是:让我们说我们有一个导入文件的函数import()
(这个函数大约需要20分钟才能运行)。有没有办法同时echo
输出每个例如5分钟?或者这是不可能的,因为PHP代码总是按顺序处理?
答案 0 :(得分:1)
如果是迭代过程,您可以设置变量$last_echo
,其值为time()
。
然后在每次迭代时检查time() - $last_echo > 300
。
示例:
$last_echo = time();
while (true) {
//Do process
if (time() - $last_echo > 300) {
echo '.';
}
}