initial 2.0.0-a3 commit

This commit is contained in:
jerry
2020-10-03 23:00:18 +08:00
parent f91d24aaaa
commit da584e0542
28 changed files with 580 additions and 225 deletions

View File

@@ -4,6 +4,8 @@
namespace ZM\Command;
use Swoole\Atomic;
use Swoole\Coroutine;
use Swoole\Http\Request;
use Swoole\Http\Response;
use Swoole\Http\Server;
@@ -15,6 +17,7 @@ use Symfony\Component\Console\Input\InputOption;
use Symfony\Component\Console\Output\OutputInterface;
use ZM\Config\ZMConfig;
use ZM\Console\Console;
use ZM\Store\ZMBuf;
use ZM\Utils\HttpUtil;
class PureHttpCommand extends Command
@@ -37,9 +40,15 @@ class PureHttpCommand extends Command
$host = $input->getOption("host") ?? $global["host"];
$port = $input->getOption("port") ?? $global["port"];
$server = new Server($host, $port);
Console::init(2, $server);
$server->set(ZMConfig::get("global", "swoole"));
Console::init(0, $server);
ZMBuf::$atomics["request"] = [];
for ($i = 0; $i < 32; ++$i) {
ZMBuf::$atomics["request"][$i] = new Atomic(0);
}
$index = ["index.html", "index.htm"];
$server->on("request", function (Request $request, Response $response) use ($input, $index){
$server->on("request", function (Request $request, Response $response) use ($input, $index, $server) {
ZMBuf::$atomics["request"][$server->worker_id]->add(1);
HttpUtil::handleStaticPage(
$request->server["request_uri"],
$response,
@@ -47,10 +56,16 @@ class PureHttpCommand extends Command
"document_root" => realpath($input->getArgument('dir') ?? '.'),
"document_index" => $index
]);
echo "\r".Coroutine::stats()["coroutine_peak_num"];
});
$server->on("start", function($server){
Process::signal(SIGINT, function () use ($server){
$server->on("start", function ($server) {
Process::signal(SIGINT, function () use ($server) {
Console::warning("Server interrupted by keyboard.");
for ($i = 0; $i < 32; ++$i) {
$num = ZMBuf::$atomics["request"][$i]->get();
if($num != 0)
echo "[$i]: ".$num."\n";
}
$server->shutdown();
$server->stop();
});