|
17 | 17 | $application = $container->get(Application::class); |
18 | 18 | (require 'router/middleware.php')($application, $container); |
19 | 19 | (require 'router/routes.php')($application, $container); |
| 20 | + $globalConfig = $container->get('config'); |
| 21 | + $serverConfig = $globalConfig['server']; |
20 | 22 |
|
21 | 23 | $loop = $container->get(LoopInterface::class); |
22 | | - Child::fork( |
23 | | - shell_exec('nproc') ? (int)shell_exec('nproc') : 16, |
24 | | - static function () use ($container) { |
25 | | - $server = $container->get(Server::class); |
26 | | - $server->on('error', static function ($err) use ($container) { |
27 | | - $logger = $container->get(LoggerInterface::class); |
28 | | - $logger->critical($err); |
29 | | - }); |
30 | | - |
31 | | - $socket = $container->get(Socket::class); |
32 | | - $server->listen($socket); |
| 24 | + $serverInstance = static function () use ($container) { |
| 25 | + $server = $container->get(Server::class); |
| 26 | + $server->on('error', static function ($err) use ($container) { |
| 27 | + $logger = $container->get(LoggerInterface::class); |
| 28 | + $logger->critical($err); |
33 | 29 | }); |
34 | 30 |
|
| 31 | + $socket = $container->get(Socket::class); |
| 32 | + $server->listen($socket); |
| 33 | + }; |
| 34 | + |
| 35 | + if (1 < $serverConfig['workers']) { |
| 36 | + Child::fork($serverConfig['workers'], $serverInstance); |
| 37 | + } else { |
| 38 | + $serverInstance(); |
| 39 | + } |
| 40 | + |
| 41 | + |
35 | 42 | $loop->run(); |
36 | 43 | }); |
0 commit comments