protected function execute(InputInterface $input, OutputInterface $output) { /** @var FormatterHelper $formatter */ $formatter = $this->getHelperSet()->get('formatter'); $path = $input->getArgument('config-path'); if (is_dir($path)) { $path = $path . '/aip.yaml'; } if (!file_exists($path)) { $output->writeln("<error>Configuration file not found: {$path}</error>"); exit(1); } $output->writeln('<info>Loading configuration…</info>'); $config = Yaml::parse($path); $runner = new Runner(dirname($path)); foreach ($config['servers'] as $server) { if (!isset($server['transport'])) { $server['transport'] = 'Socket'; } $runner->addServer($server); $line = $formatter->formatSection('app+', $server['app']['class'] . ' server via ' . $server['protocol'] . ' at ' . $server['socket'] . '. (' . $server['min-children'] . '-' . $server['max-children'] . ' workers)'); $output->writeln($line); } $output->writeln('<info>Starting workers…</info>'); $runner->go(); }
protected function execute(InputInterface $input, OutputInterface $output) { /** @var FormatterHelper $formatter */ $formatter = $this->getHelperSet()->get('formatter'); $path = $input->getArgument('directory'); if (!is_dir($path)) { $output->writeln("<error>{$path} is not a valid directory</error>"); exit(1); } $server = array('protocol' => 'HTTP', 'transport' => 'Socket', 'socket' => 'tcp://127.0.0.1:8080', 'min-children' => 1, 'max-children' => 1, 'app' => array('class' => 'AiP\\App\\FileServe', 'parameters' => array($path), 'file' => '', 'middlewares' => array('Logger', array('class' => 'AiP\\Middleware\\Directory', 'parameters' => array($path, true)), 'ConditionalGet'))); $runner = new Runner($path); $runner->addServer($server); $line = $formatter->formatSection('app+', 'Serving files from "' . $path . '" via ' . $server['protocol'] . ' at ' . $server['socket'] . '. (' . $server['min-children'] . '-' . $server['max-children'] . ' workers)'); $output->writeln($line); $output->writeln('<info>Starting workers…</info>'); $runner->go(); }