脚本似乎锁定了mysql服务器

时间:2016-08-23 18:03:29

标签: php mysqli sleep

下面是一个简单的示例程序,用于显示我遇到的问题。我在数据库中搜索执行它们的新工作,然后进入睡眠状态直到有新的工作。我这样做是因为他们必须一次运行1。但是,当我执行脚本时,服务器不会让任何运行的脚本访问数据库。为什么数据库被锁定了?

ignore_user_abort(true);//if caller closes the connection (if initiating with cURL from another PHP, this allows you to end the calling PHP script without ending this one)
//set_time_limit(0);    //run forever

//start up
session_start();
ini_set("log_errors", 1);
ini_set("error_log", __file__.".log");
require_once("includes/loginMaster.php");

// Create connection
$conn = new mysqli(DB_HOST, DB_USER, DB_PASS, DB_DATA);
if ($conn->connect_error) die("Connection failed: " . $conn->connect_error);


//setup statement for getting tasks
$query='SELECT `id`,`uid`,`kid`,`type`,`value`,`time` FROM `data_que` WHERE `executed` IS NULL ORDER BY `time` ASC, `id` ASC LIMIT 1';
$stmtNext = $conn->prepare($query);
$stmtNext->bind_result($id,$uid,$kid,$type,$value,$time);

//get packets
while(true) {
    $stmtNext->execute();$stmtNext->store_result();
    while ($stmtNext->fetch()) {
        /*
            should do somthing here but removed for simplicity

        */



        //reexecute job
        $stmtNext->execute();$stmtNext->store_result();
        usleep(100);
    }
    sleep(5);
    echo "slept";
}

0 个答案:

没有答案