diff --git a/bin/swoole.php b/bin/swoole.php index 5039d4f..cb8bad6 100755 --- a/bin/swoole.php +++ b/bin/swoole.php @@ -18,9 +18,8 @@ //php swoole.php testserver start - -$name = $argv[1]; -$cmd = $argv[2]; //cmd name +$name = isset($argv[1]) ? $argv[1] : null; +$cmd = isset($argv[2]) ? $argv[2] : null; //cmd name $cmd = empty($cmd) ? $name : $cmd; $RunningServer = array(); //需要cmd 和 name name 支持 all 和 具体的serverName @@ -194,13 +193,8 @@ function StartServSock($RunServer) 'worker_num' => 1, 'daemonize' => true )); - $serv->on('WorkerStart', function ($serv, $workerId) { - //监控周期 - $serv->addtimer(1000); - - }); - //定时器中操作 主要为轮巡 启动服务 - $serv->on('Timer', function ($serv, $interval) { + + $tick_check = function ($serv, $interval) { StartLogTimer(__LINE__ . 'timer start ' . time()); if (empty($serv->runServer)) { StartLogTimer(__LINE__ . ' ' . 'no server is running ' . PHP_EOL); @@ -218,7 +212,21 @@ function StartServSock($RunServer) StartLogTimer(__LINE__ . date('Y-m-d H:i:s') . ' ' . print_r($serverName, true) . ' server is running success' . PHP_EOL); } } + }; + + $serv->on('WorkerStart', function ($serv, $workerId) { + //监控周期 + if (!$serv->taskworker) { + $serv->tick(1000, $tick_check); + } + else + { + $serv->addtimer(1000); + } }); + + //定时器中操作 主要为轮巡 启动服务 + $serv->on('Timer', $tick_check); $serv->on('connect', function ($serv, $fd, $from_id) { echo "[#" . posix_getpid() . "]\tClient@[$fd:$from_id]: Connect.\n";