From 08fc60226f224de87d665aa7c55b6eaa9f66d768 Mon Sep 17 00:00:00 2001 From: Christian Weiske Date: Fri, 11 Nov 2016 20:54:12 +0100 Subject: status page --- src/phinde/Queue.php | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) (limited to 'src/phinde/Queue.php') diff --git a/src/phinde/Queue.php b/src/phinde/Queue.php index a58a257..1033d7a 100644 --- a/src/phinde/Queue.php +++ b/src/phinde/Queue.php @@ -9,6 +9,7 @@ class Queue { $this->gmclient = new \GearmanClient(); $this->gmclient->addServer('127.0.0.1'); + $this->queueName = $GLOBALS['phinde']['queuePrefix'] . 'phinde_process'; } public function addToProcessList($linkUrl, $actions) @@ -19,7 +20,7 @@ class Queue ); $this->gmclient->doBackground( - $GLOBALS['phinde']['queuePrefix'] . 'phinde_process', + $this->queueName, serialize( array( 'url' => $linkUrl, @@ -36,5 +37,23 @@ class Queue exit(2); } } + + public function getServerStatus() + { + $cmd = 'gearadmin --status' + . '| grep ' . escapeshellarg($this->queueName); + $line = exec($cmd); + + $parts = preg_split('#\s+#', $line); + if (count($parts) !== 4) { + throw new \Exception('gearadmin status line does not have 4 parts'); + } + + return array( + 'tasks' => $parts[1], + 'processing' => $parts[2], + 'workers' => $parts[3], + ); + } } ?> -- cgit v1.2.3