/** * @param $xml * @throws GWTException */ private function put_sitemap($xml) { $request = MWHttpRequest::factory($this->make_sitemaps_uri(), array('postData' => $xml, 'method' => 'POST')); $request->setHeader('Content-type', 'application/atom+xml'); $request->setHeader('Content-length', strval(strlen($xml))); $request->setHeader('Authorization', 'GoogleLogin auth=' . $this->mAuth); $status = $request->execute(); if ($status->isOK()) { $text = $request->getContent(); GWTLogHelper::debug($text); } else { throw new GWTException("Non 200 response.\n" . "\n" . "message:" . $status->getMessage() . "\n" . $request->getContent()); } }
global $wgExternalSharedDB, $wgDatamartDB; $wikiPageCountService = (new WikiPageCountServiceFactory())->get(); $wikiRepository = new GWTWikiRepository(); foreach (Iterators::group($wikiPageCountService->listPageCountsIterator(), 50) as $pageCountGroup) { $updated = 0; $created = 0; $same = 0; GWTLogHelper::debug("Group size: " . (int) count($pageCountGroup)); foreach ($pageCountGroup as $pageCountModel) { /** @var WikiPageCountModel $pageCountModel */ $page = $wikiRepository->getById($pageCountModel->getWikiId()); if ($page == null) { $wikiRepository->insert($pageCountModel->getWikiId(), null, null, $pageCountModel->getPageCount()); $created++; } else { if ($page->getPageCount() != $pageCountModel->getPageCount()) { $page->setPageCount($pageCountModel->getPageCount()); $wikiRepository->updateWiki($page); $updated++; } else { $same++; } } } GWTLogHelper::debug("Created: {$created}, Updated {$updated}, Same: {$same}"); sleep(1); } GWTLogHelper::notice(__FILE__ . " script ends."); } catch (Exception $ex) { GWTLogHelper::error(__FILE__ . " script failed.", $ex); }