call_user_func(array($peerName, 'setUseCriteriaFilter'), false); for (;;) { $c = new Criteria(); if ($partnerId != -1) { $c->add($partnerIdField, $partnerId); } if ($lastCreatedAt) { $c->add($createdAtField, $lastCreatedAt, Criteria::LESS_EQUAL); } $c->addDescendingOrderByColumn($createdAtField); $c->setLimit(500); $items = call_user_func(array($peerName, 'doSelect'), $c); foreach ($items as $item) { usleep(100); if ($mode == 'execute') { $sphinx->saveToSphinx($item, false, true); echo $item->getId() . "Saved\n"; } else { print $sphinx->getSphinxSaveSql($item, false, true) . ';' . PHP_EOL; } $lastCreatedAt = $item->getCreatedAt(null); } sleep(10); kMemoryManager::clearMemory(); if (count($items) < 500) { break; } } if ($mode == 'execute') { echo "Done\n"; }
if (is_null($entry)) { KalturaLog::err('Couldn\'t find entry [' . $entryId . ']'); continue; } if ($entry->getViews() != $views || $entry->getPlays() != $plays) { $entry->setViews($views); $entry->setPlays($plays); KalturaLog::debug('Successfully saved entry [' . $entryId . ']'); try { // update entry without setting the updated at $updateSql = "UPDATE entry set views='{$views}',plays='{$plays}' WHERE id='{$entryId}'"; $stmt = $connection->prepare($updateSql); $stmt->execute(); $affectedRows = $stmt->rowCount(); KalturaLog::log("AffectedRows: " . $affectedRows); // update sphinx log directly $sql = $sphinxMgr->getSphinxSaveSql($entry, false); $sphinxLog = new SphinxLog(); $sphinxLog->setEntryId($entryId); $sphinxLog->setPartnerId($entry->getPartnerId()); $sphinxLog->setSql($sql); $sphinxLog->save(myDbHelper::getConnection(myDbHelper::DB_HELPER_CONN_SPHINX_LOG)); } catch (Exception $e) { KalturaLog::log($e->getMessage(), Propel::LOG_ERR); } } $count++; if ($count % 500 === 0) { entryPeer::clearInstancePool(); } }
error_reporting(E_ALL); $dbConf = kConf::getDB(); DbManager::setConfig($dbConf); DbManager::initialize(); $availModes = array('gensqls', 'execute'); if ($argc < 2) { die('Usage: ' . basename(__FILE__) . ' <entry id> [<mode: ' . implode('/', $availModes) . '>]' . PHP_EOL); } $entryId = @$argv[1]; $mode = 'execute'; if ($argc > 2) { $mode = $argv[2]; } if (!in_array($mode, $availModes)) { die('Invalid mode, should be one of ' . implode(',', $availModes) . PHP_EOL); } $dbConf = kConf::getDB(); DbManager::setConfig($dbConf); DbManager::initialize(); $sphinx = new kSphinxSearchManager(); entryPeer::setUseCriteriaFilter(false); $entry = entryPeer::retrieveByPK($entryId); if ($entry) { if ($mode == 'execute') { $sphinx->saveToSphinx($entry, false, true); echo $entry->getId() . "Saved\n"; } else { print $sphinx->getSphinxSaveSql($entry, false, true) . PHP_EOL; } } echo "Done\n";