File tree 2 files changed +21
-0
lines changed
src/Symfony/Component/Messenger
2 files changed +21
-0
lines changed Original file line number Diff line number Diff line change @@ -578,6 +578,25 @@ public function testFlushBatchOnStop()
578
578
579
579
$ this ->assertSame ($ expectedMessages , $ handler ->processedMessages );
580
580
}
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
+ }
581
600
}
582
601
583
602
class DummyReceiver implements ReceiverInterface
Original file line number Diff line number Diff line change @@ -118,6 +118,8 @@ public function run(array $options = []): void
118
118
// this should prevent multiple lower priority receivers from
119
119
// blocking too long before the higher priority are checked
120
120
if ($ envelopeHandled ) {
121
+ gc_collect_cycles ();
122
+
121
123
break ;
122
124
}
123
125
}
You can’t perform that action at this time.
0 commit comments