gpt4 book ai didi

javascript - 如何重组长时间运行的 php 进程不超时

转载 作者:行者123 更新时间:2023-11-29 19:39:55 26 4
gpt4 key购买 nike

<分区>

我有一个像这样的简单 javascript 函数:

$(document).ready(function(){
var request = $.ajax({
url: "read_images.php",
type: "GET",
dataType: "html"
});
request.done(function(msg) {
$("#mybox").html(msg);
document.getElementById('message').innerHTML = '';
});
request.fail(function(jqXHR, textStatus) {
alert( "Request failed: " + textStatus );
});
});

它正在调用的 php 脚本循环处理文件夹的内容,运行一些检查,然后返回响应。脚本如下:

//Get all Images from server, store in variable
$server_images = scandir('../images/original');

//Remove first 3 elements, which are not correct
array_shift($server_images);
array_shift($server_images);
array_shift($server_images);

$j = 0;
for($i=0;$i<count($server_images) && $i<3000;$i++) {
$server_image = $server_images[$i];

//Make sure that the server image does not have a php extension
if(!preg_match('/.php/',$server_image)) {

//Select products_id and name from table where the image name is equal to server image name
$query = "SELECT `name`
FROM `images`
WHERE `name` = '$server_image'";
$mro_images = $db->query($query);
$mro_images_row = $mro_images->fetch();
$mro_image = $mro_images_row['name'];

//If no results are found
if(empty($mro_image)) {
$images[$j] = $server_image;
$j++;
}
}
}

如果循环限制为 2000 次迭代,它会起作用,但如果我尝试这样做,例如3000 次迭代结果是:

HTTP/1.1 500 Internal Server Error 31234ms

我试过增加 php 执行限制,但这没有任何效果,因为在联系我的主机后:

Unfortunately in our environment we don't have any way to increase the loadbalancer timeout beyond 30 seconds

因此:我如何重组此代码以避免达到执行时间限制?

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com