public function docInfo() { $sqlkey = Flight::request()->getQuery('sqlkey'); $sqlinfo = Flight::conf()->get($sqlkey); if (!$sqlinfo) { Flight::json(array('errcode' => -1, 'errormsg' => 'empty key')); } Flight::json($sqlinfo); }
public function sig_child($fd, $events, $args) { $status = -1; date_default_timezone_set('Asia/Shanghai'); while (($pid = \pcntl_waitpid(-1, $status, WNOHANG)) > 0) { foreach (Process::$child as $key => $value) { if ($value == $pid) { unset(Process::$child[$key]); foreach (Process::$alias as $key => $value) { if ($pid == $value) { unset(Process::$alias[$key]); } } } } Msgqueue::delQueue($pid); $log_file = Flight::conf()->get('cli.sys.rpc_logpath') . date('Y-m-d') . '.log'; $spare_time = microtime(1) - $this->_spare_time[$pid]; $spare_time = sprintf("%.2f", $spare_time); if (pcntl_wifexited($status)) { $exit_code = pcntl_wexitstatus($status); $log = date("H:i:s") . " exit({$exit_code}-{$pid}):" . json_encode($this->_runing_list[$pid]) . " {$spare_time}"; } else { $exit_code = -1; $log = date("H:i:s") . " exit({$exit_code}-{$pid}):" . json_encode($this->_runing_list[$pid]) . " {$spare_time}"; } $ret = `echo "{$log}" >> {$log_file}`; unset($this->_runing_list[$pid]); unset($this->_spare_time[$pid]); $this->handle(); } }
require_once "boot.php"; // undefine('ROOT'); use flight\Flight; // path 下的第一级目录名为Appname,二级目录为module name,最后的文件名为OP type $path = $argv[1]; $key_pref = $argv[2]; if (!is_dir($path)) { die($path . " is not a valid directory!"); } $result = get_sqldoc_keys($path, $key_pref); foreach ($result as $k => $value) { $proj_info = parse_key($value); $op_type = $proj_info['op_type']; unset($proj_info['op_type']); $proj_id = insert_proj($proj_info); $sql_infos = Flight::conf()->get($value . '.*'); foreach ($sql_infos as $key => $sql_info) { $key_name = $value . '.' . $key; $sk_id = insert_key($sql_info, $key_name, $proj_id, $op_type); if (isset($sql_info['params'])) { foreach ($sql_info['params'] as $pname => $p_info) { insert_param($p_info, $sk_id, $pname); } } } } function insert_proj($proj_info) { $is_exsists = Flight::db()->fetchOne('sql.sqldoc.projects.select.proj_by_app_module', $proj_info); if (false === $is_exsists) { echo Flight::db()->errorMsg();
<?php define('FLIGHT_ROOT', dirname(dirname(__DIR__)) . "/includes/flight"); define('BOOT_FILE', FLIGHT_ROOT . "/boot/boot.php"); require_once BOOT_FILE; use rpc\Rpcserver; use rpc\Rpcmaster; use flight\Flight; use cli\proc\Process; use cli\events\EventInterface; Flight::set('app.root', FLIGHT_ROOT); Process::init(); $server = new Rpcserver(); $server->schema('tcp')->host(Flight::conf()->get('cli.sys.localhost'))->port(Flight::conf()->get('cli.sys.localport'))->create(); $rpc_master = new Rpcmaster(); Process::onSysEvent($server->getSocket(), EventInterface::EV_READ, array($rpc_master, 'handle')); Process::loop();