From 8422eb550fe19b933d798863bde63eabf00c1a23 Mon Sep 17 00:00:00 2001 From: Aina Sitraka <35221835+aynsix@users.noreply.github.com> Date: Tue, 25 Jul 2023 10:35:18 +0300 Subject: [PATCH] admin worker consumed Q filter (#4347) --- .../AdminConfigurationController.php | 9 +++++- .../WorkerManager/Queue/AMQPConnection.php | 6 +++- resources/locales/messages.de.xlf | 29 +++++++++++-------- resources/locales/messages.en.xlf | 29 +++++++++++-------- resources/locales/messages.fr.xlf | 29 +++++++++++-------- resources/locales/messages.nl.xlf | 15 ++++++---- resources/locales/validators.de.xlf | 2 +- resources/locales/validators.en.xlf | 2 +- resources/locales/validators.fr.xlf | 2 +- resources/locales/validators.nl.xlf | 2 +- .../worker_queue_monitor.html.twig | 15 +++++++++- 11 files changed, 92 insertions(+), 48 deletions(-) diff --git a/lib/Alchemy/Phrasea/WorkerManager/Controller/AdminConfigurationController.php b/lib/Alchemy/Phrasea/WorkerManager/Controller/AdminConfigurationController.php index 7b369cd0b4..5cd591e9ce 100644 --- a/lib/Alchemy/Phrasea/WorkerManager/Controller/AdminConfigurationController.php +++ b/lib/Alchemy/Phrasea/WorkerManager/Controller/AdminConfigurationController.php @@ -264,6 +264,7 @@ public function queueMonitorAction(PhraseaApplication $app, Request $request) { $reload = ($request->query->get('reload') == 1); $hideEmptyQ = $request->query->get('hide-empty-queue'); + $consumedQ = $request->query->get('consumed-queue'); if ($hideEmptyQ === null || $hideEmptyQ == 1) { $hideEmptyQ = true; @@ -271,9 +272,15 @@ public function queueMonitorAction(PhraseaApplication $app, Request $request) $hideEmptyQ = false; } + if ($consumedQ === null || $consumedQ == 1) { + $consumedQ = true; + } else { + $consumedQ = false; + } + $this->getAMQPConnection()->getChannel(); $this->getAMQPConnection()->declareExchange(); - $queuesStatus = $this->getAMQPConnection()->getQueuesStatus($hideEmptyQ); + $queuesStatus = $this->getAMQPConnection()->getQueuesStatus($hideEmptyQ, $consumedQ); return $this->render('admin/worker-manager/worker_queue_monitor.html.twig', [ 'queuesStatus' => $queuesStatus, diff --git a/lib/Alchemy/Phrasea/WorkerManager/Queue/AMQPConnection.php b/lib/Alchemy/Phrasea/WorkerManager/Queue/AMQPConnection.php index cac93267af..cfad841912 100644 --- a/lib/Alchemy/Phrasea/WorkerManager/Queue/AMQPConnection.php +++ b/lib/Alchemy/Phrasea/WorkerManager/Queue/AMQPConnection.php @@ -573,7 +573,7 @@ public function purgeQueue($queueName) * @return array * @throws Exception */ - public function getQueuesStatus($hideEmptyQ = true) + public function getQueuesStatus($hideEmptyQ = true, $consumedQ = true) { $this->getChannel(); $queuesStatus = []; @@ -592,6 +592,10 @@ public function getQueuesStatus($hideEmptyQ = true) continue; } + if ($consumedQ && $consumerCount == 0) { + continue; + } + $queuesStatus[$queueName] = [ 'queueName' => $queueName, 'exists' => true, diff --git a/resources/locales/messages.de.xlf b/resources/locales/messages.de.xlf index abaf8b7872..bf1a8f11ae 100644 --- a/resources/locales/messages.de.xlf +++ b/resources/locales/messages.de.xlf @@ -1,14 +1,14 @@ - + - +
The source node in most cases contains the sample message as written by the developer. If it looks like a dot-delimitted string such as "form.label.firstname", then the developer has not provided a default message.
- - + + Form/Configuration/EmailFormType.php Form/Login/PhraseaAuthenticationForm.php @@ -200,7 +200,7 @@ Bridge/Dailymotion/element_informations.html.twig - %number% documents<br/>selectionnes + selectionnes]]> ausgewählt]]> Controller/Prod/QueryController.php @@ -2539,7 +2539,7 @@ Form/Configuration/ActionsFormType.php - Display & action settings + Anzeige und Handlung-Einstellungen admin/fields/templates.html.twig @@ -9449,12 +9449,12 @@ admin::workermanager:tab:queueMonitor: Consumer count Worker Anzahl - admin/worker-manager/worker_queue_monitor.html.twig + admin/worker-manager/worker_queue_monitor.html.twig admin::workermanager:tab:queueMonitor: Delete Queue Warteschlange löschen - admin/worker-manager/worker_queue_monitor.html.twig + admin/worker-manager/worker_queue_monitor.html.twig admin::workermanager:tab:queueMonitor: Hide empty queues @@ -9464,18 +9464,23 @@ admin::workermanager:tab:queueMonitor: Message count Nachrichten Anzahl - admin/worker-manager/worker_queue_monitor.html.twig + admin/worker-manager/worker_queue_monitor.html.twig admin::workermanager:tab:queueMonitor: Purge Queue Warteschlange reinigen - admin/worker-manager/worker_queue_monitor.html.twig + admin/worker-manager/worker_queue_monitor.html.twig admin::workermanager:tab:queueMonitor: Refresh list Aktualisieren admin/worker-manager/worker_queue_monitor.html.twig + + admin::workermanager:tab:queueMonitor: consumed queues + admin::workermanager:tab:queueMonitor: consumed queues + admin/worker-manager/worker_queue_monitor.html.twig + admin::workermanager:tab:queueMonitor: description Nachrichtenwarteschlange Zustand @@ -12377,7 +12382,7 @@ Controller/Root/AccountController.php - phraseanet::account: << your account can be deleted via admin interface >> + >]]> Ihr Benutzerkonto kann nur durch die Administration Anwendung gelöscht werden. web/account/account.html.twig @@ -15498,7 +15503,7 @@ Vorsicht: die aktuelle Werte werden durch die neue Werte überschrieben web/thesaurus/thesaurus.html.twig - thesaurus:: Supprimer cette branche ?&#10;(les termes concernes remonteront en candidats a la prochaine indexation) + web/thesaurus/thesaurus.html.twig diff --git a/resources/locales/messages.en.xlf b/resources/locales/messages.en.xlf index bb002035b7..095bf84681 100644 --- a/resources/locales/messages.en.xlf +++ b/resources/locales/messages.en.xlf @@ -1,14 +1,14 @@ - + - +
The source node in most cases contains the sample message as written by the developer. If it looks like a dot-delimitted string such as "form.label.firstname", then the developer has not provided a default message.
- - + + Form/Configuration/EmailFormType.php Form/Login/PhraseaAuthenticationForm.php @@ -200,7 +200,7 @@ Bridge/Dailymotion/element_informations.html.twig - %number% documents<br/>selectionnes + selectionnes]]> selected]]> Controller/Prod/QueryController.php @@ -2542,7 +2542,7 @@ Form/Configuration/ActionsFormType.php - Display & action settings + Display and action settings admin/fields/templates.html.twig @@ -9452,12 +9452,12 @@ admin::workermanager:tab:queueMonitor: Consumer count Number of worker(s) - admin/worker-manager/worker_queue_monitor.html.twig + admin/worker-manager/worker_queue_monitor.html.twig admin::workermanager:tab:queueMonitor: Delete Queue Delete Queue - admin/worker-manager/worker_queue_monitor.html.twig + admin/worker-manager/worker_queue_monitor.html.twig admin::workermanager:tab:queueMonitor: Hide empty queues @@ -9467,18 +9467,23 @@ admin::workermanager:tab:queueMonitor: Message count Message count - admin/worker-manager/worker_queue_monitor.html.twig + admin/worker-manager/worker_queue_monitor.html.twig admin::workermanager:tab:queueMonitor: Purge Queue Purge Queue - admin/worker-manager/worker_queue_monitor.html.twig + admin/worker-manager/worker_queue_monitor.html.twig admin::workermanager:tab:queueMonitor: Refresh list Refresh admin/worker-manager/worker_queue_monitor.html.twig + + admin::workermanager:tab:queueMonitor: consumed queues + admin::workermanager:tab:queueMonitor: consumed queues + admin/worker-manager/worker_queue_monitor.html.twig + admin::workermanager:tab:queueMonitor: description Message queues status @@ -12380,7 +12385,7 @@ Controller/Root/AccountController.php - phraseanet::account: << your account can be deleted via admin interface >> + >]]> Your rights do not allow to perform this action. Your account can only be deleted via the Administration interface. web/account/account.html.twig @@ -15504,7 +15509,7 @@ It is possible to place several search areas web/thesaurus/thesaurus.html.twig - thesaurus:: Supprimer cette branche ?&#10;(les termes concernes remonteront en candidats a la prochaine indexation) + web/thesaurus/thesaurus.html.twig diff --git a/resources/locales/messages.fr.xlf b/resources/locales/messages.fr.xlf index 0419735478..9a834eeeae 100644 --- a/resources/locales/messages.fr.xlf +++ b/resources/locales/messages.fr.xlf @@ -1,14 +1,14 @@ - + - +
The source node in most cases contains the sample message as written by the developer. If it looks like a dot-delimitted string such as "form.label.firstname", then the developer has not provided a default message.
- - + + Form/Configuration/EmailFormType.php Form/Login/PhraseaAuthenticationForm.php @@ -200,7 +200,7 @@ Bridge/Dailymotion/element_informations.html.twig - %number% documents<br/>selectionnes + selectionnes]]> sélectionnés]]> Controller/Prod/QueryController.php @@ -2539,7 +2539,7 @@ Form/Configuration/ActionsFormType.php - Display & action settings + Paramétrage d'affichage et d'action admin/fields/templates.html.twig @@ -9450,12 +9450,12 @@ Si vous recevez cet e-mail sans l'avoir sollicité, merci de l'ignorer ou de le admin::workermanager:tab:queueMonitor: Consumer count Nombre de worker - admin/worker-manager/worker_queue_monitor.html.twig + admin/worker-manager/worker_queue_monitor.html.twig admin::workermanager:tab:queueMonitor: Delete Queue Supprimer la file d'attente - admin/worker-manager/worker_queue_monitor.html.twig + admin/worker-manager/worker_queue_monitor.html.twig admin::workermanager:tab:queueMonitor: Hide empty queues @@ -9465,18 +9465,23 @@ Si vous recevez cet e-mail sans l'avoir sollicité, merci de l'ignorer ou de le admin::workermanager:tab:queueMonitor: Message count Nombre de Message - admin/worker-manager/worker_queue_monitor.html.twig + admin/worker-manager/worker_queue_monitor.html.twig admin::workermanager:tab:queueMonitor: Purge Queue Purger la file d'attente - admin/worker-manager/worker_queue_monitor.html.twig + admin/worker-manager/worker_queue_monitor.html.twig admin::workermanager:tab:queueMonitor: Refresh list Actualiser admin/worker-manager/worker_queue_monitor.html.twig + + admin::workermanager:tab:queueMonitor: consumed queues + admin::workermanager:tab:queueMonitor: consumed queues + admin/worker-manager/worker_queue_monitor.html.twig + admin::workermanager:tab:queueMonitor: description Etat des files de message @@ -12378,7 +12383,7 @@ Si vous recevez cet e-mail sans l'avoir sollicité, merci de l'ignorer ou de le Controller/Root/AccountController.php - phraseanet::account: << your account can be deleted via admin interface >> + >]]> Vos droits ne vous permettent pas de réaliser cette action, votre compte ne peut être supprimé que via l'interface d'Administration. web/account/account.html.twig @@ -15507,7 +15512,7 @@ Attention: les valeurs actuellement en place seront écrasées par ces nouvelles web/thesaurus/thesaurus.html.twig - thesaurus:: Supprimer cette branche ?&#10;(les termes concernes remonteront en candidats a la prochaine indexation) + web/thesaurus/thesaurus.html.twig diff --git a/resources/locales/messages.nl.xlf b/resources/locales/messages.nl.xlf index 99ef57be7d..15fa870094 100644 --- a/resources/locales/messages.nl.xlf +++ b/resources/locales/messages.nl.xlf @@ -1,6 +1,6 @@ - +
The source node in most cases contains the sample message as written by the developer. If it looks like a dot-delimitted string such as "form.label.firstname", then the developer has not provided a default message. @@ -9457,12 +9457,12 @@ admin::workermanager:tab:queueMonitor: Consumer count admin::workermanager:tab:queueMonitor: Consumer count - admin/worker-manager/worker_queue_monitor.html.twig + admin/worker-manager/worker_queue_monitor.html.twig admin::workermanager:tab:queueMonitor: Delete Queue admin::workermanager:tab:queueMonitor: Delete Queue - admin/worker-manager/worker_queue_monitor.html.twig + admin/worker-manager/worker_queue_monitor.html.twig admin::workermanager:tab:queueMonitor: Hide empty queues @@ -9472,18 +9472,23 @@ admin::workermanager:tab:queueMonitor: Message count admin::workermanager:tab:queueMonitor: Message count - admin/worker-manager/worker_queue_monitor.html.twig + admin/worker-manager/worker_queue_monitor.html.twig admin::workermanager:tab:queueMonitor: Purge Queue admin::workermanager:tab:queueMonitor: Purge Queue - admin/worker-manager/worker_queue_monitor.html.twig + admin/worker-manager/worker_queue_monitor.html.twig admin::workermanager:tab:queueMonitor: Refresh list admin::workermanager:tab:queueMonitor: Refresh list admin/worker-manager/worker_queue_monitor.html.twig + + admin::workermanager:tab:queueMonitor: consumed queues + admin::workermanager:tab:queueMonitor: consumed queues + admin/worker-manager/worker_queue_monitor.html.twig + admin::workermanager:tab:queueMonitor: description admin::workermanager:tab:queueMonitor: description diff --git a/resources/locales/validators.de.xlf b/resources/locales/validators.de.xlf index 5b78a8bda7..43a7326ded 100644 --- a/resources/locales/validators.de.xlf +++ b/resources/locales/validators.de.xlf @@ -1,6 +1,6 @@ - +
The source node in most cases contains the sample message as written by the developer. If it looks like a dot-delimitted string such as "form.label.firstname", then the developer has not provided a default message. diff --git a/resources/locales/validators.en.xlf b/resources/locales/validators.en.xlf index 97b977d974..ae13bbeb02 100644 --- a/resources/locales/validators.en.xlf +++ b/resources/locales/validators.en.xlf @@ -1,6 +1,6 @@ - +
The source node in most cases contains the sample message as written by the developer. If it looks like a dot-delimitted string such as "form.label.firstname", then the developer has not provided a default message. diff --git a/resources/locales/validators.fr.xlf b/resources/locales/validators.fr.xlf index d5991b3694..6b1426a397 100644 --- a/resources/locales/validators.fr.xlf +++ b/resources/locales/validators.fr.xlf @@ -1,6 +1,6 @@ - +
The source node in most cases contains the sample message as written by the developer. If it looks like a dot-delimitted string such as "form.label.firstname", then the developer has not provided a default message. diff --git a/resources/locales/validators.nl.xlf b/resources/locales/validators.nl.xlf index ec10319323..718b08cb98 100644 --- a/resources/locales/validators.nl.xlf +++ b/resources/locales/validators.nl.xlf @@ -1,6 +1,6 @@ - +
The source node in most cases contains the sample message as written by the developer. If it looks like a dot-delimitted string such as "form.label.firstname", then the developer has not provided a default message. diff --git a/templates/web/admin/worker-manager/worker_queue_monitor.html.twig b/templates/web/admin/worker-manager/worker_queue_monitor.html.twig index b456105122..011080abca 100644 --- a/templates/web/admin/worker-manager/worker_queue_monitor.html.twig +++ b/templates/web/admin/worker-manager/worker_queue_monitor.html.twig @@ -9,6 +9,10 @@ + + @@ -49,9 +53,14 @@ hideEmptyQ = 0; } + let consumedQ = 1; + if (!$(".consumed-queue").is(":checked")) { + consumedQ = 0; + } + $.ajax({ type: "GET", - url: "/admin/worker-manager/queue-monitor?reload=1&hide-empty-queue=" + hideEmptyQ, + url: "/admin/worker-manager/queue-monitor?reload=1&hide-empty-queue=" + hideEmptyQ + "&consumed-queue=" + consumedQ, success: function (data) { $(".queue-list").empty().html(data); } @@ -62,6 +71,10 @@ refreshList(); }); + $(".consumed-queue").on('click', function () { + refreshList(); + }); + $("#refresh-monitor").on('click', function () { refreshList(); });