コード例 #1
0
ファイル: populateFromLog.php プロジェクト: richhl/kalturaCE
        if (isset($lastLogs[$dc])) {
            $serverLastLog = $lastLogs[$dc];
            if ($serverLastLog->getLastLogId() >= $sphinxLog->getId()) {
                KalturaLog::debug('Last log id [' . $serverLastLog->getLastLogId() . "] dc [{$dc}] is larger than id [" . $sphinxLog->getId() . "]");
                continue;
            }
        } else {
            $serverLastLog = new SphinxLogServer();
            $serverLastLog->setServer($sphinxServer);
            $serverLastLog->setDc($dc);
            $lastLogs[$dc] = $serverLastLog;
        }
        try {
            $sql = $sphinxLog->getSql();
            $affected = $sphinxCon->exec($sql);
            if (!$affected) {
                $errorInfo = $sphinxCon->errorInfo();
                //				if(!preg_match('/^duplicate id/', $errorInfo[2]))
                //					die("No affected records [" . $sphinxCon->errorCode() . "]\n" . print_r($sphinxCon->errorInfo(), true));
            }
            $serverLastLog->setLastLogId($sphinxLog->getId());
            $serverLastLog->save(myDbHelper::getConnection(myDbHelper::DB_HELPER_CONN_SPHINX_LOG));
        } catch (Exception $e) {
            KalturaLog::err($e->getMessage());
        }
    }
    unset($sphinxCon);
    SphinxLogPeer::clearInstancePool();
    $sphinxLogs = SphinxLogPeer::retrieveByLastId($lastLogs);
}
KalturaLog::log('Done');
コード例 #2
0
ファイル: populateFromLog.php プロジェクト: DBezemer/server
     }
     $handledRecords[$dc][] = $sphinxLogId;
     KalturaLog::log("Sphinx log id {$sphinxLogId} dc [{$dc}] executed server id [{$executedServerId}] Memory: [" . memory_get_usage() . "]");
     try {
         if ($skipExecutedUpdates && $executedServerId == $serverLastLog->getId()) {
             KalturaLog::log("Sphinx server is initiated and the command already ran synchronously on this machine. Skipping");
         } else {
             $sql = $sphinxLog->getSql();
             $affected = $sphinxCon->exec($sql);
             if (!$affected) {
                 $errorInfo = $sphinxCon->errorInfo();
             }
         }
         // If the record is an historical record, don't take back the last log id
         if ($serverLastLog->getLastLogId() < $sphinxLogId) {
             $serverLastLog->setLastLogId($sphinxLogId);
             // Clear $handledRecords from before last - gap.
             foreach ($serverLastLogs as $serverLastLog) {
                 $dc = $serverLastLog->getDc();
                 $threshold = $serverLastLog->getLastLogId() - $gap;
                 $handledRecords[$dc] = array_filter($handledRecords[$dc], array(new OldLogRecordsFilter($threshold), 'filter'));
             }
         }
     } catch (Exception $e) {
         KalturaLog::err($e->getMessage());
     }
 }
 foreach ($lastLogs as $serverLastLog) {
     $serverLastLog->save(myDbHelper::getConnection(myDbHelper::DB_HELPER_CONN_SPHINX_LOG));
 }
 unset($sphinxCon);