public static function run() { if (!self::$_instance) { self::$_instance = new CoreServer(); } self::$_config = CoreHelper::loadConfig('swoole', 'config'); self::$_senderRoutes = CoreHelper::loadConfig("process_routes", "router"); self::$_serv = new swoole_server(self::$_config["host"], self::$_config["port"]); self::$_serv->set(self::$_config); self::$_serv->on("start", [self::$_instance, "onStart"]); self::$_serv->on('workerStart', [self::$_instance, "onWorkerStart"]); self::$_serv->on('workerStop', [self::$_instance, "onWorkerStop"]); self::$_serv->on("connect", [self::$_instance, "onConnect"]); self::$_serv->on('receive', [self::$_instance, 'onReceive']); self::$_serv->on("close", [self::$_instance, "onClose"]); self::$_serv->on("task", [self::$_instance, "onTask"]); self::$_serv->on("finish", [self::$_instance, "onFinish"]); if (!empty(self::$_senderRoutes)) { self::createProcessSender(self::$_senderRoutes); } self::$_serv->start(); }