From 52db516049e95353f7eb40333d18927c3d9b248b Mon Sep 17 00:00:00 2001 From: Koldo Picaza <1093654+kpicaza@users.noreply.github.com> Date: Thu, 16 Dec 2021 22:06:26 +0100 Subject: [PATCH] Run sync server in a fiber --- composer.json | 1 + src/SyncRunner.php | 11 +++++++---- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/composer.json b/composer.json index 520c663..87b4514 100644 --- a/composer.json +++ b/composer.json @@ -19,6 +19,7 @@ "nyholm/psr7": "^1.4", "nyholm/psr7-server": "^1.0", "psr/http-server-middleware": "^1.0", + "react/async": "@dev", "react/http": "^1.5", "symfony/runtime": "^5.3" }, diff --git a/src/SyncRunner.php b/src/SyncRunner.php index 327fea5..ff8a214 100644 --- a/src/SyncRunner.php +++ b/src/SyncRunner.php @@ -9,6 +9,7 @@ use Nyholm\Psr7\Factory\Psr17Factory; use Nyholm\Psr7Server\ServerRequestCreator; use React\EventLoop\Loop; +use function React\Async\async; final class SyncRunner { @@ -31,11 +32,13 @@ public function __construct(Application $application, SapiEmitter $sapi) public function run(): int { - $this->sapi->emit( - $this->application->handle($this->responseFactory->fromGlobals()) - ); - $loop = Loop::get(); + async(function (): void { + $this->sapi->emit( + $this->application->handle($this->responseFactory->fromGlobals()) + ); + }); + $loop->run(); return 0;