[ Index ] |
PHP Cross Reference of Phabricator |
[Summary view] [Print] [Text view]
1 <?php 2 3 final class PhabricatorDaemonManagementStatusWorkflow 4 extends PhabricatorDaemonManagementWorkflow { 5 6 public function didConstruct() { 7 $this 8 ->setName('status') 9 ->setSynopsis(pht('Show status of running daemons.')) 10 ->setArguments( 11 array( 12 array( 13 'name' => 'local', 14 'help' => pht('Show only local daemons.'), 15 ), 16 )); 17 } 18 19 public function execute(PhutilArgumentParser $args) { 20 $console = PhutilConsole::getConsole(); 21 22 if ($args->getArg('local')) { 23 $daemons = $this->loadRunningDaemons(); 24 } else { 25 $daemons = $this->loadAllRunningDaemons(); 26 } 27 28 if (!$daemons) { 29 $console->writeErr( 30 "%s\n", 31 pht('There are no running Phabricator daemons.')); 32 return 1; 33 } 34 35 $status = 0; 36 37 $table = id(new PhutilConsoleTable()) 38 ->addColumns(array( 39 'id' => array( 40 'title' => 'ID', 41 ), 42 'host' => array( 43 'title' => 'Host', 44 ), 45 'pid' => array( 46 'title' => 'PID', 47 ), 48 'started' => array( 49 'title' => 'Started', 50 ), 51 'daemon' => array( 52 'title' => 'Daemon', 53 ), 54 'argv' => array( 55 'title' => 'Arguments', 56 ), 57 )); 58 59 foreach ($daemons as $daemon) { 60 if ($daemon instanceof PhabricatorDaemonLog) { 61 $table->addRow(array( 62 'id' => $daemon->getID(), 63 'host' => $daemon->getHost(), 64 'pid' => $daemon->getPID(), 65 'started' => date('M j Y, g:i:s A', $daemon->getDateCreated()), 66 'daemon' => $daemon->getDaemon(), 67 'argv' => csprintf('%LR', $daemon->getExplicitArgv()), 68 )); 69 } else if ($daemon instanceof PhabricatorDaemonReference) { 70 $name = $daemon->getName(); 71 if (!$daemon->isRunning()) { 72 $daemon->updateStatus(PhabricatorDaemonLog::STATUS_DEAD); 73 $status = 2; 74 $name = '<DEAD> '.$name; 75 } 76 77 $daemon_log = $daemon->getDaemonLog(); 78 $id = null; 79 if ($daemon_log) { 80 $id = $daemon_log->getID(); 81 } 82 83 $table->addRow(array( 84 'id' => $id, 85 'host' => 'localhost', 86 'pid' => $daemon->getPID(), 87 'started' => $daemon->getEpochStarted() 88 ? date('M j Y, g:i:s A', $daemon->getEpochStarted()) 89 : null, 90 'daemon' => $name, 91 'argv' => csprintf('%LR', $daemon->getArgv()), 92 )); 93 } 94 } 95 96 $table->draw(); 97 } 98 99 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Sun Nov 30 09:20:46 2014 | Cross-referenced by PHPXref 0.7.1 |