From 421b46cb816f137adeffaaccf693d8940a4ff74a Mon Sep 17 00:00:00 2001 From: Alexandre Daubois Date: Fri, 17 Feb 2023 19:25:28 +0100 Subject: [PATCH] [Messenger] Allow to define batch size when using `BatchHandlerTrait` with `getBatchSize()` --- src/Symfony/Component/Messenger/CHANGELOG.md | 1 + .../Component/Messenger/Handler/BatchHandlerTrait.php | 7 ++++++- .../Tests/Middleware/HandleMessageMiddlewareTest.php | 4 ++-- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/src/Symfony/Component/Messenger/CHANGELOG.md b/src/Symfony/Component/Messenger/CHANGELOG.md index b60f066320d64..49eb0e52e21eb 100644 --- a/src/Symfony/Component/Messenger/CHANGELOG.md +++ b/src/Symfony/Component/Messenger/CHANGELOG.md @@ -10,6 +10,7 @@ CHANGELOG `Symfony\Component\Messenger\Transport\InMemory\InMemoryTransport` and `Symfony\Component\Messenger\Transport\InMemory\InMemoryTransportFactory` * Allow passing a string instead of an array in `TransportNamesStamp` + * Allow to define batch size when using `BatchHandlerTrait` with `getBatchSize()` 6.2 --- diff --git a/src/Symfony/Component/Messenger/Handler/BatchHandlerTrait.php b/src/Symfony/Component/Messenger/Handler/BatchHandlerTrait.php index 07ce0791518e2..0e1cdccc16acc 100644 --- a/src/Symfony/Component/Messenger/Handler/BatchHandlerTrait.php +++ b/src/Symfony/Component/Messenger/Handler/BatchHandlerTrait.php @@ -55,7 +55,7 @@ private function handle(object $message, ?Acknowledger $ack): mixed private function shouldFlush(): bool { - return 10 <= \count($this->jobs); + return $this->getBatchSize() <= \count($this->jobs); } /** @@ -64,4 +64,9 @@ private function shouldFlush(): bool * @list $jobs A list of pairs of messages and their corresponding acknowledgers */ abstract private function process(array $jobs): void; + + private function getBatchSize(): int + { + return 10; + } } diff --git a/src/Symfony/Component/Messenger/Tests/Middleware/HandleMessageMiddlewareTest.php b/src/Symfony/Component/Messenger/Tests/Middleware/HandleMessageMiddlewareTest.php index 63dccc8d0b695..4d54f83bb7767 100644 --- a/src/Symfony/Component/Messenger/Tests/Middleware/HandleMessageMiddlewareTest.php +++ b/src/Symfony/Component/Messenger/Tests/Middleware/HandleMessageMiddlewareTest.php @@ -179,9 +179,9 @@ public function __invoke(DummyMessage $message, Acknowledger $ack = null) return $this->handle($message, $ack); } - private function shouldFlush() + private function getBatchSize(): int { - return 2 <= \count($this->jobs); + return 2; } private function process(array $jobs): void