File tree Expand file tree Collapse file tree 2 files changed +21
-0
lines changed
src/Symfony/Component/Messenger Expand file tree Collapse file tree 2 files changed +21
-0
lines changed Original file line number Diff line number Diff line change @@ -578,6 +578,25 @@ public function testFlushBatchOnStop()
578578
579579 $ this ->assertSame ($ expectedMessages , $ handler ->processedMessages );
580580 }
581+
582+ public function testGcCollectCyclesIsCalledOnMessageHandle ()
583+ {
584+ $ apiMessage = new DummyMessage ('API ' );
585+
586+ $ receiver = new DummyReceiver ([[new Envelope ($ apiMessage )]]);
587+
588+ $ bus = $ this ->createMock (MessageBusInterface::class);
589+
590+ $ dispatcher = new EventDispatcher ();
591+ $ dispatcher ->addSubscriber (new StopWorkerOnMessageLimitListener (1 ));
592+
593+ $ worker = new Worker (['transport ' => $ receiver ], $ bus , $ dispatcher );
594+ $ worker ->run ();
595+
596+ $ gcStatus = gc_status ();
597+
598+ $ this ->assertGreaterThan (0 , $ gcStatus ['runs ' ]);
599+ }
581600}
582601
583602class DummyReceiver implements ReceiverInterface
Original file line number Diff line number Diff line change @@ -118,6 +118,8 @@ public function run(array $options = []): void
118118 // this should prevent multiple lower priority receivers from
119119 // blocking too long before the higher priority are checked
120120 if ($ envelopeHandled ) {
121+ gc_collect_cycles ();
122+
121123 break ;
122124 }
123125 }
You can’t perform that action at this time.
0 commit comments