From da855c654eea4b378c111563ffde7d15aa9ce3f7 Mon Sep 17 00:00:00 2001 From: Ian Morland <16573496+imorland@users.noreply.github.com> Date: Mon, 1 Aug 2022 23:49:58 +0100 Subject: [PATCH] feat: Restart the queue worker after cache clearing, ext enable/disable, save settings (#3565) * Add queue restarter * Update framework/core/src/Queue/QueueRestarter.php --- framework/core/src/Queue/QueueRestarter.php | 57 +++++++++++++++++++ .../core/src/Queue/QueueServiceProvider.php | 2 + 2 files changed, 59 insertions(+) create mode 100644 framework/core/src/Queue/QueueRestarter.php diff --git a/framework/core/src/Queue/QueueRestarter.php b/framework/core/src/Queue/QueueRestarter.php new file mode 100644 index 000000000..a168ee48d --- /dev/null +++ b/framework/core/src/Queue/QueueRestarter.php @@ -0,0 +1,57 @@ +container = $container; + $this->command = $command; + } + + public function subscribe(Dispatcher $events) + { + $events->listen([ + ClearingCache::class, Saved::class, + Enabled::class, Disabled::class + ], [$this, 'restart']); + } + + public function restart() + { + $this->command->setLaravel($this->container); + + $this->command->run( + new ArrayInput([]), + new NullOutput + ); + } +} diff --git a/framework/core/src/Queue/QueueServiceProvider.php b/framework/core/src/Queue/QueueServiceProvider.php index 19377e430..bfa824c67 100644 --- a/framework/core/src/Queue/QueueServiceProvider.php +++ b/framework/core/src/Queue/QueueServiceProvider.php @@ -161,5 +161,7 @@ class QueueServiceProvider extends AbstractServiceProvider } } }); + + $events->subscribe(QueueRestarter::class); } }