本文整理汇总了PHP中FeedItem::process方法的典型用法代码示例。如果您正苦于以下问题:PHP FeedItem::process方法的具体用法?PHP FeedItem::process怎么用?PHP FeedItem::process使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类FeedItem
的用法示例。
在下文中一共展示了FeedItem::process方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: process
public function process()
{
$start = microtime(true);
$this->idplist = array();
$processedEntities = array();
$i = 0;
foreach ($this->metadata as $entityId => $metadataEntry) {
// if (rand(0, 2) === 2) {
// DiscoUtils::log('Skipping random entity: ' . $entityId); continue;
// }
DiscoUtils::log('Processing ' . $entityId);
$entry = new FeedItem($entityId, $this->feedId, $metadataEntry, $this->feedconfig);
$entry->process();
$data = $entry->getJSON();
// echo json_encode($data['disco'], JSON_PRETTY_PRINT) . "\n\n";
$this->idplist[] = $entry;
$processedEntities[] = $entityId;
// if ($i++ > 5) break;
}
foreach ($this->idplist as $item) {
$this->store->insertOrUpdate($item);
}
$existingEntries = $this->store->listFeedEntities($this->feedId);
$toDelete = array_diff($existingEntries, $processedEntities);
foreach ($toDelete as $td) {
DiscoUtils::log('Removing entityId ' . $td);
$this->store->remove($this->feedId, $td);
}
if (count($toDelete) === count($processedEntities)) {
throw new Exception('Will not delete all entities. We assume there is a mistake somewhere... Please fix ASAP.');
}
if (count($toDelete) === 0) {
DiscoUtils::log('All existing entities found, not removing any existing from ' . $this->feedId);
}
$end = microtime(true);
$timer = $end - $start;
$this->store->logProcess($this->feedId, $timer);
}