File tree 3 files changed +17
-1
lines changed
Bundle/FrameworkBundle/Resources/config
3 files changed +17
-1
lines changed Original file line number Diff line number Diff line change 192
192
->tag ('monolog.logger ' , ['channel ' => 'messenger ' ])
193
193
194
194
->set ('messenger.listener.stop_worker_on_sigterm_signal_listener ' , StopWorkerOnSigtermSignalListener::class)
195
+ ->args ([
196
+ service ('logger ' )->ignoreOnInvalid (),
197
+ ])
195
198
->tag ('kernel.event_subscriber ' )
196
199
197
200
->set ('messenger.listener.stop_worker_on_stop_exception_listener ' , StopWorkerOnCustomStopExceptionListener::class)
Original file line number Diff line number Diff line change @@ -6,6 +6,7 @@ CHANGELOG
6
6
7
7
* Add ` StopWorkerExceptionInterface ` and its implementation ` StopWorkerException ` to stop the worker.
8
8
* Add log when worker should stop.
9
+ * Add log when ` SIGTERM ` is received.
9
10
10
11
5.3
11
12
---
Original file line number Diff line number Diff line change 11
11
12
12
namespace Symfony \Component \Messenger \EventListener ;
13
13
14
+ use Psr \Log \LoggerInterface ;
14
15
use Symfony \Component \EventDispatcher \EventSubscriberInterface ;
15
16
use Symfony \Component \Messenger \Event \WorkerStartedEvent ;
16
17
19
20
*/
20
21
class StopWorkerOnSigtermSignalListener implements EventSubscriberInterface
21
22
{
23
+ private $ logger ;
24
+
25
+ public function __construct (LoggerInterface $ logger = null )
26
+ {
27
+ $ this ->logger = $ logger ;
28
+ }
29
+
22
30
public function onWorkerStarted (WorkerStartedEvent $ event ): void
23
31
{
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
+
25
37
$ event ->getWorker ()->stop ();
26
38
});
27
39
}
You can’t perform that action at this time.
0 commit comments