PHP彗星usleep阻止apache mpm?

时间:2012-06-20 19:07:21

标签: php postgresql pdo comet

我在那里彗星我以这种方式运行了一个while循环

$items = $statement->fetchAll();//statement is a PDO Statement
$iteration = 0;
while(count($items) == 0 && $iteration < 100){
    $items = $statement->fetchAll();
    usleep(10000);
    ++$iteration;
}

当彗星运行时,我可以看到所有其他HTTP请求都处于待处理状态。甚至非数据库请求也在等待中。为什么?

1 个答案:

答案 0 :(得分:1)

您需要在事务中保留请求时使用PDO::commit手动提交。

请参阅有关此行为的文档:

http://www.php.net/manual/de/pdo.commit.php

http://www.php.net/manual/en/pdo.transactions.php