在短:如何破解密码的代码需要超过53秒后执行,这样的事情:如何走出循环,如果PHP脚本的时间超过53秒执行
while (5 < 200)
{
// do some work here, which will take around 1-6 seconds
if (code this loop is running for more than 53 seconds)
break;
}
如果你想知道,为什么我想这样做:
好吧,这是我在做什么:我从网络上的7个JSON页面复制数据,并将其插入到我的MySQL数据库。
的代码是这样的:
$start_time = microtime(TRUE); // Helps to count PHP script execution time
connect to database
$number = get inserted number into database
while ($number > ($number+20))
{
7 Open JSON File link like this - "example.com/$number?api=xxxyyzz"
Use Prepared PDO statements to insert data into MySQL
}
// Code to count PHP script execution time
$end_time = microtime(TRUE);
$time_taken = $end_time - $start_time;
$time_taken = round($time_taken,5);
echo '<p>Page generated in '.$time_taken.' seconds.</p>';
所以在我的情况,这需要约5.2秒来完成将所有数据的一个整个循环。但是一些JSON文件是空的,因此如果它们为空,则完成1循环只需要1.4秒。
因此,我想完成数百万个循环(从数百万个JSON文件中添加数据)。因此,如果我的代码全天候运行,则需要1个月才能完成我的任务。
我使用cron作业做任务。看起来像服务器给CRON工作提供同样的错误。
所以,我想做CRON工作每1分钟运行一次,所以我没有超时错误。
但我怕这怕什么如果脚本一半行添加数据和1分钟的车越过,它不添加数据转换成另一半行。然后在新的分钟开始后,代码从下一个$number
开始。因此,如果我可以在53秒之后将break;
退出循环(如果代码在52秒开始另一个循环,则在结束时中断,这将在58-59秒左右)。
我的意思是,我会把这个休息;代码就在循环结束之前(在}
之前)。所以我不会退出循环,而数据插入到一半的行中。
我认为你可以在休息功能的地方使用睡眠功能。 –
睡眠功能延迟了代码执行时间,对吗?它怎样才能让我从服务器500错误中解脱出来? @AvinashKumarSingh兄弟? –