public static function run_app($task, $args) { if (isset($args[0])) { $config_file = $args[0]; } else { $config_file = getcwd() . '/config.yaml'; } pake_echo_comment('Loading configuration…'); if (!file_exists($config_file)) { throw new \pakeException("Configuration file is not found: " . $config_file); } $config = \pakeYaml::loadFile($config_file); $runner = new Runner(); foreach ($config['servers'] as $server) { if (!class_exists($server['app']['class'])) { require dirname($config_file) . '/' . $server['app']['file']; pake_echo_action('load class', $server['app']['class']); } $runner->addServer($server['app']['class'], $server['app']['middlewares'], $server['protocol'], $server['socket'], $server['min-children'], $server['max-children']); pake_echo_action('register', $server['app']['class'] . ' server via ' . $server['protocol'] . ' at ' . $server['socket'] . '. (' . $server['min-children'] . '-' . $server['max-children'] . ' children)'); } pake_echo_comment('Starting server…'); $runner->go(); }