Page MenuHomePhabricator

D20604.id49170.diff
No OneTemporary

D20604.id49170.diff

diff --git a/src/applications/daemon/management/PhabricatorDaemonManagementStatusWorkflow.php b/src/applications/daemon/management/PhabricatorDaemonManagementStatusWorkflow.php
--- a/src/applications/daemon/management/PhabricatorDaemonManagementStatusWorkflow.php
+++ b/src/applications/daemon/management/PhabricatorDaemonManagementStatusWorkflow.php
@@ -6,101 +6,58 @@
protected function didConstruct() {
$this
->setName('status')
- ->setSynopsis(pht('Show status of running daemons.'))
- ->setArguments(
- array(
- array(
- 'name' => 'local',
- 'help' => pht('Show only local daemons.'),
- ),
- ));
+ ->setSynopsis(pht('Show daemon processes on this host.'));
}
public function execute(PhutilArgumentParser $args) {
- $console = PhutilConsole::getConsole();
+ $query = id(new PhutilProcessQuery())
+ ->withIsOverseer(true);
- if ($args->getArg('local')) {
- $daemons = $this->loadRunningDaemons();
- } else {
- $daemons = $this->loadAllRunningDaemons();
+ $instance = PhabricatorEnv::getEnvConfig('cluster.instance');
+ if ($instance !== null) {
+ $query->withInstances(array($instance));
}
- if (!$daemons) {
- $console->writeErr(
- "%s\n",
- pht('There are no running Phabricator daemons.'));
+ $process_refs = $query->execute();
+ if (!$process_refs) {
+ if ($instance !== null) {
+ $this->logInfo(
+ pht('NO DAEMONS'),
+ pht(
+ 'There are no running daemon processes for the current '.
+ 'instance ("%s").',
+ $instance));
+ } else {
+ $this->writeInfo(
+ pht('NO DAEMONS'),
+ pht('There are no running daemon processes.'));
+ }
+
return 1;
}
- $status = 0;
-
$table = id(new PhutilConsoleTable())
- ->addColumns(array(
- 'id' => array(
- 'title' => pht('Log'),
- ),
- 'daemonID' => array(
- 'title' => pht('Daemon'),
- ),
- 'host' => array(
- 'title' => pht('Host'),
- ),
- 'pid' => array(
- 'title' => pht('Overseer'),
- ),
- 'started' => array(
- 'title' => pht('Started'),
- ),
- 'daemon' => array(
- 'title' => pht('Class'),
- ),
- 'argv' => array(
- 'title' => pht('Arguments'),
- ),
- ));
-
- foreach ($daemons as $daemon) {
- if ($daemon instanceof PhabricatorDaemonLog) {
- $table->addRow(array(
- 'id' => $daemon->getID(),
- 'daemonID' => $daemon->getDaemonID(),
- 'host' => $daemon->getHost(),
- 'pid' => $daemon->getPID(),
- 'started' => date('M j Y, g:i:s A', $daemon->getDateCreated()),
- 'daemon' => $daemon->getDaemon(),
- 'argv' => csprintf('%LR', $daemon->getExplicitArgv()),
+ ->addColumns(
+ array(
+ 'pid' => array(
+ 'title' => pht('PID'),
+ ),
+ 'command' => array(
+ 'title' => pht('Command'),
+ ),
));
- } else if ($daemon instanceof PhabricatorDaemonReference) {
- $name = $daemon->getName();
- if (!$daemon->isRunning()) {
- $daemon->updateStatus(PhabricatorDaemonLog::STATUS_DEAD);
- $status = 2;
- $name = pht('<DEAD> %s', $name);
- }
-
- $daemon_log = $daemon->getDaemonLog();
- $id = null;
- $daemon_id = null;
- if ($daemon_log) {
- $id = $daemon_log->getID();
- $daemon_id = $daemon_log->getDaemonID();
- }
- $table->addRow(array(
- 'id' => $id,
- 'daemonID' => $daemon_id,
- 'host' => 'localhost',
- 'pid' => $daemon->getPID(),
- 'started' => $daemon->getEpochStarted()
- ? date('M j Y, g:i:s A', $daemon->getEpochStarted())
- : null,
- 'daemon' => $name,
- 'argv' => csprintf('%LR', $daemon->getArgv()),
+ foreach ($process_refs as $process_ref) {
+ $table->addRow(
+ array(
+ 'pid' => $process_ref->getPID(),
+ 'command' => $process_ref->getCommand(),
));
- }
}
$table->draw();
+
+ return 0;
}
}
diff --git a/src/applications/daemon/management/PhabricatorDaemonManagementWorkflow.php b/src/applications/daemon/management/PhabricatorDaemonManagementWorkflow.php
--- a/src/applications/daemon/management/PhabricatorDaemonManagementWorkflow.php
+++ b/src/applications/daemon/management/PhabricatorDaemonManagementWorkflow.php
@@ -55,31 +55,6 @@
return array_mergev($daemons);
}
- final protected function loadAllRunningDaemons() {
- $local_daemons = $this->loadRunningDaemons();
-
- $local_ids = array();
- foreach ($local_daemons as $daemon) {
- $daemon_log = $daemon->getDaemonLog();
-
- if ($daemon_log) {
- $local_ids[] = $daemon_log->getID();
- }
- }
-
- $daemon_query = id(new PhabricatorDaemonLogQuery())
- ->setViewer(PhabricatorUser::getOmnipotentUser())
- ->withStatus(PhabricatorDaemonLogQuery::STATUS_ALIVE);
-
- if ($local_ids) {
- $daemon_query->withoutIDs($local_ids);
- }
-
- $remote_daemons = $daemon_query->execute();
-
- return array_merge($local_daemons, $remote_daemons);
- }
-
private function findDaemonClass($substring) {
$symbols = $this->loadAvailableDaemonClasses();

File Metadata

Mime Type
text/plain
Expires
Wed, Apr 2, 1:54 PM (1 w, 1 d ago)
Storage Engine
blob
Storage Format
Encrypted (AES-256-CBC)
Storage Handle
7385708
Default Alt Text
D20604.id49170.diff (5 KB)

Event Timeline