@@ -71,7 +71,8 @@ public function shouldSuccessConsume(): void
7171 $ consumer = new SpoolConsumer (
7272 $ this ->queueFactory ,
7373 $ this ->messageHandler ,
74- new SpoolConsumerConfiguration (10 , 1 )
74+ new SpoolConsumerConfiguration (10 , 1 ),
75+ new LoopConsumeStrategy (),
7576 );
7677
7778 $ this ->runConsumer ($ consumer );
@@ -99,7 +100,8 @@ public function shouldSuccessReturnMessagesToBrokerIfSpoolFailed(): void
99100 $ consumer = new SpoolConsumer (
100101 $ this ->queueFactory ,
101102 $ this ->messageHandler ,
102- new SpoolConsumerConfiguration (10 , 1 , 0 , true )
103+ new SpoolConsumerConfiguration (10 , 1 , 0 , true ),
104+ new LoopConsumeStrategy (),
103105 );
104106
105107 try {
@@ -131,7 +133,8 @@ public function shouldNotReturnMessagesToBrokerIfSpoolFailedIfRequeueIsFalse():
131133 $ consumer = new SpoolConsumer (
132134 $ this ->queueFactory ,
133135 $ this ->messageHandler ,
134- new SpoolConsumerConfiguration (10 , 1 , 0 , false )
136+ new SpoolConsumerConfiguration (10 , 1 , 0 , false ),
137+ new LoopConsumeStrategy (),
135138 );
136139
137140 try {
@@ -158,7 +161,8 @@ public function shouldReturnMessagesToBrokerIfFlushFailed(): void
158161 $ consumer = new SpoolConsumer (
159162 $ this ->queueFactory ,
160163 $ this ->messageHandler ,
161- new SpoolConsumerConfiguration (5 , 1 , 0 , true )
164+ new SpoolConsumerConfiguration (5 , 1 , 0 , true ),
165+ new LoopConsumeStrategy (),
162166 );
163167
164168 try {
@@ -185,7 +189,8 @@ public function shouldNotReturnMessagesToBrokerIfFlushFailedAndRequeueIsFalse():
185189 $ consumer = new SpoolConsumer (
186190 $ this ->queueFactory ,
187191 $ this ->messageHandler ,
188- new SpoolConsumerConfiguration (5 , 1 , 0 , false )
192+ new SpoolConsumerConfiguration (5 , 1 , 0 , false ),
193+ new LoopConsumeStrategy (),
189194 );
190195
191196 try {
@@ -221,7 +226,8 @@ public function shouldReturnMessagesToBrokerOnlyNotAckedMessagesIfFlushFalied():
221226 $ consumer = new SpoolConsumer (
222227 $ this ->queueFactory ,
223228 $ this ->messageHandler ,
224- new SpoolConsumerConfiguration (5 , 1 )
229+ new SpoolConsumerConfiguration (5 , 1 ),
230+ new LoopConsumeStrategy (),
225231 );
226232
227233 try {
@@ -260,7 +266,8 @@ public function shouldThrowExceptionIfMessageHandlerTryAnsweringToBroker(): void
260266 $ consumer = new SpoolConsumer (
261267 $ this ->queueFactory ,
262268 $ this ->messageHandler ,
263- new SpoolConsumerConfiguration (10 , 1 )
269+ new SpoolConsumerConfiguration (10 , 1 ),
270+ new LoopConsumeStrategy (),
264271 );
265272
266273 $ this ->expectException (\LogicException::class);
@@ -284,7 +291,8 @@ public function shouldNotThrowOrphanedEnvelope(): void
284291 $ consumer = new SpoolConsumer (
285292 $ this ->queueFactory ,
286293 $ this ->messageHandler ,
287- new SpoolConsumerConfiguration (10 , 1 )
294+ new SpoolConsumerConfiguration (10 , 1 ),
295+ new LoopConsumeStrategy ()
288296 );
289297
290298 $ this ->messageHandler ->setHandlerCallback (function (ReceivedMessage $ message ) use (&$ handledMessages , $ consumer ) {
@@ -329,7 +337,7 @@ public function shouldSuccessProcessOnStopAfterNExecutes(): void
329337 {
330338 $ this ->publishMessages (12 );
331339
332- $ consumer = new SpoolConsumer ($ this ->queueFactory , $ this ->messageHandler , new SpoolConsumerConfiguration (100 , 1 ));
340+ $ consumer = new SpoolConsumer ($ this ->queueFactory , $ this ->messageHandler , new SpoolConsumerConfiguration (100 , 1 ), new LoopConsumeStrategy () );
333341 $ consumer ->setEventDispatcher ($ eventDispatcher = new EventDispatcher ());
334342 $ eventDispatcher ->addListener (AmqpEvents::PROCESSED_MESSAGE , (new StopAfterNExecutesListener (5 ))->onProcessedMessage (...));
335343
@@ -363,7 +371,8 @@ public function shouldFlushWithZeroReadTimeout(int $prefetchCount, int $messageC
363371 $ consumer = new SpoolConsumer (
364372 $ this ->queueFactory ,
365373 $ this ->messageHandler ,
366- new SpoolConsumerConfiguration ($ prefetchCount , 1 , 1 , true )
374+ new SpoolConsumerConfiguration ($ prefetchCount , 1 , 1 , true ),
375+ new LoopConsumeStrategy (),
367376 );
368377
369378 $ this ->queueFactory ->create ()->getChannel ()->getConnection ()->setReadTimeout (0 );
@@ -388,7 +397,7 @@ public function shouldSuccessReRunAfterStop(): void
388397 {
389398 $ this ->publishMessages (10 );
390399
391- $ consumer = new SpoolConsumer ($ this ->queueFactory , $ this ->messageHandler , new SpoolConsumerConfiguration (10 , 1 , 1 , true ));
400+ $ consumer = new SpoolConsumer ($ this ->queueFactory , $ this ->messageHandler , new SpoolConsumerConfiguration (10 , 1 , 1 , true ), new LoopConsumeStrategy () );
392401 $ consumer ->setEventDispatcher ($ eventDispatcher = new EventDispatcher ());
393402
394403 $ eventDispatcher ->addListener (AmqpEvents::PROCESSED_MESSAGE , static function (ProcessedMessageEvent $ event ): void {
@@ -461,7 +470,8 @@ public function shouldSuccessAck2KMessagesForQuorumQueue(): void
461470 $ consumer = new SpoolConsumer (
462471 $ quorumQueueFactory ,
463472 $ this ->messageHandler ,
464- new SpoolConsumerConfiguration (2000 , 2 )
473+ new SpoolConsumerConfiguration (2000 , 2 ),
474+ new LoopConsumeStrategy (),
465475 );
466476
467477 $ this ->runConsumer ($ consumer );
@@ -483,7 +493,13 @@ private function runConsumer(SpoolConsumer $consumer, bool $changeReadTimeout =
483493 $ consumer ->getQueue ()->getChannel ()->getConnection ()->setReadTimeout (0.2 );
484494 }
485495
486- $ consumer ->run ();
496+ try {
497+ $ consumer ->run ();
498+ } finally {
499+ \usleep (10_000 );
500+ $ consumer ->getQueue ()->getChannel ()->getConnection ()->disconnect ();
501+ \usleep (10_000 );
502+ }
487503 }
488504
489505 private function registerTimeoutListenerForStop (SpoolConsumer $ consumer ): void
0 commit comments