diff --git a/lib/Alchemy/Phrasea/WorkerManager/Controller/AdminConfigurationController.php b/lib/Alchemy/Phrasea/WorkerManager/Controller/AdminConfigurationController.php index 9232403819..081c430565 100644 --- a/lib/Alchemy/Phrasea/WorkerManager/Controller/AdminConfigurationController.php +++ b/lib/Alchemy/Phrasea/WorkerManager/Controller/AdminConfigurationController.php @@ -141,6 +141,22 @@ class AdminConfigurationController extends Controller ]); } + public function purgeQueueAction(PhraseaApplication $app, Request $request) + { + $queueName = $request->request->get('queueName'); + + if (empty($queueName)) { + return $this->app->json(['success' => false]); + } + + /** @var AMQPConnection $serverConnection */ + $serverConnection = $this->app['alchemy_worker.amqp.connection']; + + $serverConnection->reinitializeQueue([$queueName]); + + return $this->app->json(['success' => true]); + } + public function truncateTableAction(PhraseaApplication $app) { /** @var WorkerRunningJobRepository $repoWorker */ diff --git a/lib/Alchemy/Phrasea/WorkerManager/Provider/ControllerServiceProvider.php b/lib/Alchemy/Phrasea/WorkerManager/Provider/ControllerServiceProvider.php index c06bfb469c..aca995c046 100644 --- a/lib/Alchemy/Phrasea/WorkerManager/Provider/ControllerServiceProvider.php +++ b/lib/Alchemy/Phrasea/WorkerManager/Provider/ControllerServiceProvider.php @@ -88,6 +88,10 @@ class ControllerServiceProvider implements ControllerProviderInterface, ServiceP ->method('GET') ->bind('worker_admin_queue_monitor'); + $controllers->match('/purge-queue', 'controller.worker.admin.configuration:purgeQueueAction') + ->method('POST') + ->bind('worker_admin_purge_queue'); + $controllers->match('/{workerId}/change-status', 'controller.worker.admin.configuration:changeStatusAction') ->method('POST') ->assert('workerId', '\d+') 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 b7b75d8b67..d84b873fc9 100644 --- a/templates/web/admin/worker-manager/worker_queue_monitor.html.twig +++ b/templates/web/admin/worker-manager/worker_queue_monitor.html.twig @@ -11,6 +11,7 @@