+
+ public function getServerStatus()
+ {
+ $cmd = 'gearadmin --status'
+ . '| grep ' . escapeshellarg($this->queueName);
+ $line = exec($cmd);
+ if ($line === '') {
+ //job not registered
+ $parts = [0, -1, -1, -1];
+ } else {
+ $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],
+ );
+ }