1

同様の問題の解決策を見つける - タイムアウト (-1); そして不滅(真); - 何も助けませんでした:(

このコードの場合、このエラーが発生します。

$this->start_time = microtime(true);
    $documents = 0;
    $offset = 0; 
    $files = array();

    $mongo = new Mongo();

    $db = Yii::app()->params['mongo']['db'];
    $db->immortal(true);
    $collection = Yii::app()->params['mongo']['collection'];
    $collection_serial = 'new_serial_number';

    $serial_numbers = $mongo->$db->$collection_serial->find();
    $serial_numbers->timeout(-1);

    $update = false;

    foreach ($serial_numbers as $serial_number) {

   //some code here        
    }

何が問題なのですか?

4

1 に答える 1

2

注::タイムアウト不滅の間には重要な違いがあります!Timeoutは、immortalがサーバー側にカーソルを設定している間、クライアント側で待機する時間を示します。

これは、シャーディングされた環境での大規模な結果セットに特に役立ちます。

-

どの行で例外が発生しますか?

カーソルでtimeoutまたはimmortalを使用していることを確認してください。

$cursor = $collection->find();
$cursor->immortal(true); // this
$cursor->timeout(-1); // or this
于 2012-10-09T16:57:29.410 に答える