From 510616c0c1adcf76619910cfb73b81ce238df277 Mon Sep 17 00:00:00 2001 From: Adam Rusinowski Date: Thu, 17 Oct 2024 15:58:07 +0200 Subject: [PATCH] added support for disabling queue monitor commands --- src/Command/NotifyCommand.php | 8 ++++++++ src/Command/PurgeCommand.php | 8 ++++++++ src/Core/DisableTrait.php | 20 ++++++++++++++++++++ src/Listener/QueueMonitorListener.php | 11 ++--------- 4 files changed, 38 insertions(+), 9 deletions(-) create mode 100644 src/Core/DisableTrait.php diff --git a/src/Command/NotifyCommand.php b/src/Command/NotifyCommand.php index 3301af1..3c3f892 100644 --- a/src/Command/NotifyCommand.php +++ b/src/Command/NotifyCommand.php @@ -18,6 +18,7 @@ use Cake\Console\ConsoleOptionParser; use Cake\Core\Configure; use Cake\Log\LogTrait; +use CakeDC\QueueMonitor\Core\DisableTrait; use CakeDC\QueueMonitor\Service\QueueMonitoringService; use Exception; @@ -26,6 +27,7 @@ */ final class NotifyCommand extends Command { + use DisableTrait; use LogTrait; private const DEFAULT_LONG_JOB_IN_MINUTES = 30; @@ -61,6 +63,12 @@ public function buildOptionParser(ConsoleOptionParser $parser): ConsoleOptionPar */ public function execute(Arguments $args, ConsoleIo $io) { + if ($this->isDisabled()) { + $this->log('Notification were not sent because Queue Monitor is disabled.'); + + return self::CODE_SUCCESS; + } + try { $this->queueMonitoringService->notifyAboutLongRunningJobs( (int)Configure::read( diff --git a/src/Command/PurgeCommand.php b/src/Command/PurgeCommand.php index 221da97..6550d29 100644 --- a/src/Command/PurgeCommand.php +++ b/src/Command/PurgeCommand.php @@ -18,6 +18,7 @@ use Cake\Console\ConsoleOptionParser; use Cake\Core\Configure; use Cake\Log\LogTrait; +use CakeDC\QueueMonitor\Core\DisableTrait; use CakeDC\QueueMonitor\Service\QueueMonitoringService; use Exception; use Psr\Log\LogLevel; @@ -27,6 +28,7 @@ */ final class PurgeCommand extends Command { + use DisableTrait; use LogTrait; private const DEFAULT_PURGE_DAYS_OLD = 30; @@ -62,6 +64,12 @@ public function buildOptionParser(ConsoleOptionParser $parser): ConsoleOptionPar */ public function execute(Arguments $args, ConsoleIo $io) { + if ($this->isDisabled()) { + $this->log('Logs were not purged because Queue Monitor is disabled.'); + + return self::CODE_SUCCESS; + } + $purgeToDate = $this->queueMonitoringService->getPurgeToDate( (int)Configure::read( 'QueueMonitor.purgeLogsOlderThanDays', diff --git a/src/Core/DisableTrait.php b/src/Core/DisableTrait.php new file mode 100644 index 0000000..9d40e16 --- /dev/null +++ b/src/Core/DisableTrait.php @@ -0,0 +1,20 @@ +