From 061c94020292da1ac2e405ab31b8501a9219858f Mon Sep 17 00:00:00 2001 From: Sergei Predvoditelev Date: Thu, 9 Jul 2026 12:57:38 +0300 Subject: [PATCH 1/2] Cleanup `Queue` --- src/Queue.php | 24 +++++++----------------- 1 file changed, 7 insertions(+), 17 deletions(-) diff --git a/src/Queue.php b/src/Queue.php index 84364f32..7d149be0 100644 --- a/src/Queue.php +++ b/src/Queue.php @@ -48,16 +48,13 @@ public function __construct( mixed ...$middlewareDefinitions, ) { $this->name = StringNormalizer::normalize($name); - $this->dispatcher = (new PushMiddlewareDispatcher( - $middlewareConfig->middlewareFactory, - $middlewareConfig->commonMiddlewareDefinitions, - $this->createFinalPushHandler(), - ))->withMiddlewaresAdded($middlewareDefinitions); - } - - public function __clone() - { - $this->dispatcher = $this->dispatcher->withFinishHandler($this->createFinalPushHandler()); + $this->dispatcher = new PushMiddlewareDispatcher( + middlewareFactory: $middlewareConfig->middlewareFactory, + middlewareDefinitions: [...$middlewareConfig->commonMiddlewareDefinitions, ...$middlewareDefinitions], + finishHandler: $this->isSynchronous() + ? new SynchronousPushHandler($this->worker, $this) + : new AdapterPushHandler($this->adapter), + ); } public function getName(): string @@ -157,13 +154,6 @@ private function handle(MessageInterface $message): bool return $this->loop->canContinue(); } - private function createFinalPushHandler(): PushHandlerInterface - { - return $this->isSynchronous() - ? new SynchronousPushHandler($this->worker, $this) - : new AdapterPushHandler($this->adapter); - } - /** * @psalm-assert-if-false !null $this->adapter */ From 2b33bfaba876360cf3be41ba04cfaaef5f1657a8 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Thu, 9 Jul 2026 09:59:39 +0000 Subject: [PATCH 2/2] Apply PHP CS Fixer and Rector changes (CI) --- src/Queue.php | 1 - 1 file changed, 1 deletion(-) diff --git a/src/Queue.php b/src/Queue.php index 7d149be0..b9bc5d48 100644 --- a/src/Queue.php +++ b/src/Queue.php @@ -10,7 +10,6 @@ use Yiisoft\Queue\Cli\LoopInterface; use Yiisoft\Queue\Message\MessageInterface; use Yiisoft\Queue\Middleware\Push\AdapterPushHandler; -use Yiisoft\Queue\Middleware\Push\PushHandlerInterface; use Yiisoft\Queue\Middleware\Push\PushMiddlewareConfig; use Yiisoft\Queue\Middleware\Push\PushMiddlewareDispatcher; use Yiisoft\Queue\Middleware\Push\SynchronousPushHandler;