3 final class PhabricatorDaemonManagementLaunchWorkflow
4 extends PhabricatorDaemonManagementWorkflow
{
6 public function shouldParsePartial() {
10 protected function didConstruct() {
13 ->setExamples('**launch** [n] __daemon__ [options]')
15 'Start a specific __daemon__, or __n__ copies of a specific '.
26 public function execute(PhutilArgumentParser
$args) {
27 $argv = $args->getArg('argv');
31 if (is_numeric(head($argv))) {
32 $daemon_count = array_shift($argv);
35 if ($daemon_count < 1) {
36 throw new PhutilArgumentUsageException(
37 pht('You must launch at least one daemon.'));
42 throw new PhutilArgumentUsageException(
43 pht('You must specify which daemon to launch.'));
47 $daemon['class'] = array_shift($argv);
48 $daemon['label'] = $daemon['class'];
49 $daemon['argv'] = $argv;
51 $daemons = array_fill(0, $daemon_count, $daemon);
53 $this->launchDaemons($daemons, $is_debug = false);