diff --git a/src/applications/search/management/PhabricatorSearchManagementIndexWorkflow.php b/src/applications/search/management/PhabricatorSearchManagementIndexWorkflow.php --- a/src/applications/search/management/PhabricatorSearchManagementIndexWorkflow.php +++ b/src/applications/search/management/PhabricatorSearchManagementIndexWorkflow.php @@ -62,8 +62,7 @@ } if (!$phids) { - throw new PhutilArgumentUsageException( - "Nothing to index!"); + throw new PhutilArgumentUsageException('Nothing to index!'); } if ($args->getArg('background')) { @@ -73,27 +72,31 @@ $is_background = false; } + if (!$is_background) { + $console->writeOut( + "%s\n", + pht( + 'Run this workflow with "--background" to queue tasks for the '. + 'daemon workers.')); + } + $groups = phid_group_by_type($phids); foreach ($groups as $group_type => $group) { $console->writeOut( "%s\n", - pht( - "Indexing %d object(s) of type %s.", - count($group), - $group_type)); + pht('Indexing %d object(s) of type %s.', count($group), $group_type)); } + $bar = id(new PhutilConsoleProgressBar()) + ->setTotal(count($phids)); + $indexer = new PhabricatorSearchIndexer(); foreach ($phids as $phid) { - if ($is_background) { - $console->writeOut("%s\n", pht("Queueing '%s'...", $phid)); - } else { - $console->writeOut("%s\n", pht("Indexing '%s'...", $phid)); - } $indexer->queueDocumentForIndexing($phid); + $bar->update(1); } - $console->writeOut("Done.\n"); + $bar->done(); } private function loadPHIDsByNames(array $names) {