gpt4 book ai didi

php - PHP sleep() 函数是否允许在指定的秒数内释放主线程?

转载 作者:行者123 更新时间:2023-12-05 06:00:43 28 4
gpt4 key购买 nike

我有一个 Web 应用程序,允许用户上传 DBF 文件,该应用程序会将内容存储到 SQL 数据库中。行数范围从几千到大约 80,000 行,我有以下代码

    if($file){

$totalRows = dbase_numrecords($file);
for($i = 1; $i <= $totalRows; $i++){

$row = dbase_get_record_with_names($file, $i);
//echo $row["BILL_NO"]." ";
if(!empty(trim($row["STATUS"]))){ //save to database if column is not empty

$data = [
//array data from the row
];

$db->table("item_menu")->replace($data);

}

if($i%1000 == 0) //Sleep call here every 1000 rows
sleep(1);

}

echo "done";

}

此功能一旦完成,将每天调用一次,理想情况下只是在后台调用/运行。但是,当我不放置 sleep 功能时,服务器在循环完成之前不会提供任何页面,这可能需要几秒钟到大约一分钟的无响应时间,但是当添加 sleep 功能时,服务器会持续提供服务页面给不同的用户。

我的问题是, sleep 函数是否有助于在 sleep 期间释放当前线程并处理其他请求?

最佳答案

如果您使用 sleep() 函数,那么您最终将在单个线程中执行所有操作,从而导致整个过程暂停。对于这种流程处理,您应该选择 php v8.1。

关于php - PHP sleep() 函数是否允许在指定的秒数内释放主线程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67498147/

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