Changeset View
Changeset View
Standalone View
Standalone View
src/applications/fact/daemon/PhabricatorFactDaemon.php
<?php | <?php | ||||
final class PhabricatorFactDaemon extends PhabricatorDaemon { | final class PhabricatorFactDaemon extends PhabricatorDaemon { | ||||
private $engines; | private $engines; | ||||
protected function run() { | protected function run() { | ||||
$this->setEngines(PhabricatorFactEngine::loadAllEngines()); | $this->setEngines(PhabricatorFactEngine::loadAllEngines()); | ||||
while (!$this->shouldExit()) { | do { | ||||
PhabricatorCaches::destroyRequestCache(); | PhabricatorCaches::destroyRequestCache(); | ||||
$iterators = $this->getAllApplicationIterators(); | $iterators = $this->getAllApplicationIterators(); | ||||
foreach ($iterators as $iterator_name => $iterator) { | foreach ($iterators as $iterator_name => $iterator) { | ||||
$this->processIteratorWithCursor($iterator_name, $iterator); | $this->processIteratorWithCursor($iterator_name, $iterator); | ||||
} | } | ||||
$this->log(pht('Zzz...')); | $sleep_duration = 60; | ||||
$this->sleep(15); | |||||
if ($this->shouldHibernate($sleep_duration)) { | |||||
break; | |||||
} | } | ||||
$this->sleep($sleep_duration); | |||||
} while (!$this->shouldExit()); | |||||
} | } | ||||
public static function getAllApplicationIterators() { | public static function getAllApplicationIterators() { | ||||
$apps = PhabricatorApplication::getAllInstalledApplications(); | $apps = PhabricatorApplication::getAllInstalledApplications(); | ||||
$iterators = array(); | $iterators = array(); | ||||
foreach ($apps as $app) { | foreach ($apps as $app) { | ||||
foreach ($app->getFactObjectsForAnalysis() as $object) { | foreach ($app->getFactObjectsForAnalysis() as $object) { | ||||
▲ Show 20 Lines • Show All 174 Lines • Show Last 20 Lines |