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 | |||||