有没有办法在PHP的另一个进程中每5分钟输出一次?

时间:2016-09-20 08:59:15

标签: php cron timeout

我有一个cronjob导入一个巨大的文件然后处理它。导入过程需要花费大量时间,但是600秒后我运行脚本的服务器将中止cronjob(超时)。在与服务器技术人员交谈后,他告诉我在导入过程中需要输出,以便脚本在10分钟后不会中止。

我现在的问题是:让我们说我们有一个导入文件的函数import()(这个函数大约需要20分钟才能运行)。有没有办法同时echo输出每个例如5分钟?或者这是不可能的,因为PHP代码总是按顺序处理?

1 个答案:

答案 0 :(得分:1)

如果是迭代过程,您可以设置变量$last_echo,其值为time()。 然后在每次迭代时检查time() - $last_echo > 300

示例:

$last_echo = time();
while (true) {
  //Do process
  if (time() - $last_echo > 300) {
    echo '.';
  }
}