Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 1471ea0

Browse files
committed
[Messenger] Log when SIGTERM is received
1 parent eed36ec commit 1471ea0

File tree

3 files changed

+17
-1
lines changed

3 files changed

+17
-1
lines changed

src/Symfony/Bundle/FrameworkBundle/Resources/config/messenger.php

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -192,6 +192,9 @@
192192
->tag('monolog.logger', ['channel' => 'messenger'])
193193

194194
->set('messenger.listener.stop_worker_on_sigterm_signal_listener', StopWorkerOnSigtermSignalListener::class)
195+
->args([
196+
service('logger')->ignoreOnInvalid(),
197+
])
195198
->tag('kernel.event_subscriber')
196199

197200
->set('messenger.listener.stop_worker_on_stop_exception_listener', StopWorkerOnCustomStopExceptionListener::class)

src/Symfony/Component/Messenger/CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ CHANGELOG
66

77
* Add `StopWorkerExceptionInterface` and its implementation `StopWorkerException` to stop the worker.
88
* Add log when worker should stop.
9+
* Add log when `SIGTERM` is received.
910

1011
5.3
1112
---

src/Symfony/Component/Messenger/EventListener/StopWorkerOnSigtermSignalListener.php

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111

1212
namespace Symfony\Component\Messenger\EventListener;
1313

14+
use Psr\Log\LoggerInterface;
1415
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
1516
use Symfony\Component\Messenger\Event\WorkerStartedEvent;
1617

@@ -19,9 +20,20 @@
1920
*/
2021
class StopWorkerOnSigtermSignalListener implements EventSubscriberInterface
2122
{
23+
private $logger;
24+
25+
public function __construct(LoggerInterface $logger = null)
26+
{
27+
$this->logger = $logger;
28+
}
29+
2230
public function onWorkerStarted(WorkerStartedEvent $event): void
2331
{
24-
pcntl_signal(\SIGTERM, static function () use ($event) {
32+
pcntl_signal(\SIGTERM, function () use ($event) {
33+
if (null !== $this->logger) {
34+
$this->logger->info('Received SIGTERM signal.');
35+
}
36+
2537
$event->getWorker()->stop();
2638
});
2739
}

0 commit comments

Comments
 (0)