@recaptime-dev's working patches + fork for Phorge, a community fork of Phabricator. (Upstream dev and stable branches are at upstream/main and upstream/stable respectively.) hq.recaptime.dev/wiki/Phorge
phorge phabricator
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

at recaptime-dev/main 71 lines 1.7 kB view raw
1<?php 2 3final class PhabricatorSearchManagementInitWorkflow 4 extends PhabricatorSearchManagementWorkflow { 5 6 protected function didConstruct() { 7 $this 8 ->setName('init') 9 ->setSynopsis(pht('Initialize or repair a search service.')) 10 ->setExamples('**init**'); 11 } 12 13 public function execute(PhutilArgumentParser $args) { 14 $this->validateClusterSearchConfig(); 15 16 $work_done = false; 17 foreach (PhabricatorSearchService::getAllServices() as $service) { 18 echo tsprintf( 19 "%s\n", 20 pht( 21 'Initializing search service "%s".', 22 $service->getDisplayName())); 23 24 if (!$service->isWritable()) { 25 echo tsprintf( 26 "%s\n", 27 pht( 28 'Skipping service "%s" because it is not writable.', 29 $service->getDisplayName())); 30 continue; 31 } 32 33 $engine = $service->getEngine(); 34 35 if (!$engine->indexExists()) { 36 echo tsprintf( 37 "%s\n", 38 pht('Service index does not exist, creating...')); 39 40 $engine->initIndex(); 41 $work_done = true; 42 } else if (!$engine->indexIsSane()) { 43 echo tsprintf( 44 "%s\n", 45 pht('Service index is out of date, repairing...')); 46 47 $engine->initIndex(); 48 $work_done = true; 49 } else { 50 echo tsprintf( 51 "%s\n", 52 pht('Service index is already up to date.')); 53 } 54 55 echo tsprintf( 56 "%s\n", 57 pht('Done.')); 58 } 59 60 if (!$work_done) { 61 echo tsprintf( 62 "%s\n", 63 pht('No services need initialization.')); 64 return 0; 65 } 66 67 echo tsprintf( 68 "%s\n", 69 pht('Service initialization complete.')); 70 } 71}