Page MenuHomePhabricator

D11784.diff
No OneTemporary

D11784.diff

diff --git a/src/applications/daemon/management/PhabricatorDaemonManagementRestartWorkflow.php b/src/applications/daemon/management/PhabricatorDaemonManagementRestartWorkflow.php
--- a/src/applications/daemon/management/PhabricatorDaemonManagementRestartWorkflow.php
+++ b/src/applications/daemon/management/PhabricatorDaemonManagementRestartWorkflow.php
@@ -20,6 +20,12 @@
'default' => 15,
),
array(
+ 'name' => 'gently',
+ 'help' => pht(
+ 'Ignore running processes that look like daemons but do not '.
+ 'have corresponding PID files.'),
+ ),
+ array(
'name' => 'force',
'help' => pht(
'Also stop running processes that look like daemons but do '.
@@ -29,12 +35,17 @@
}
public function execute(PhutilArgumentParser $args) {
- $graceful = $args->getArg('graceful');
- $force = $args->getArg('force');
- $err = $this->executeStopCommand(array(), $graceful, $force);
+ $err = $this->executeStopCommand(
+ array(),
+ array(
+ 'graceful' => $args->getArg('graceful'),
+ 'force' => $args->getArg('force'),
+ 'gently' => $args->getArg('gently'),
+ ));
if ($err) {
return $err;
}
+
return $this->executeStartCommand();
}
diff --git a/src/applications/daemon/management/PhabricatorDaemonManagementStopWorkflow.php b/src/applications/daemon/management/PhabricatorDaemonManagementStopWorkflow.php
--- a/src/applications/daemon/management/PhabricatorDaemonManagementStopWorkflow.php
+++ b/src/applications/daemon/management/PhabricatorDaemonManagementStopWorkflow.php
@@ -27,6 +27,12 @@
'not have corresponding PID files.'),
),
array(
+ 'name' => 'gently',
+ 'help' => pht(
+ 'Ignore running processes that look like daemons but do not '.
+ 'have corresponding PID files.'),
+ ),
+ array(
'name' => 'pids',
'wildcard' => true,
),
@@ -34,10 +40,13 @@
}
public function execute(PhutilArgumentParser $args) {
- $pids = $args->getArg('pids');
- $graceful = $args->getArg('graceful');
- $force = $args->getArg('force');
- return $this->executeStopCommand($pids, $graceful, $force);
+ return $this->executeStopCommand(
+ $args->getArg('pids'),
+ array(
+ 'graceful' => $args->getArg('graceful'),
+ 'force' => $args->getArg('force'),
+ 'gently' => $args->getArg('gently'),
+ ));
}
}
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
@@ -361,15 +361,25 @@
protected final function executeStopCommand(
array $pids,
- $grace_period,
- $force) {
+ array $options) {
$console = PhutilConsole::getConsole();
+ $grace_period = idx($options, 'graceful', 15);
+ $force = idx($options, 'force');
+ $gently = idx($options, 'gently');
+
+ if ($gently && $force) {
+ throw new PhutilArgumentUsageException(
+ pht(
+ 'You can not specify conflicting options --gently and --force '.
+ 'together.'));
+ }
+
$daemons = $this->loadRunningDaemons();
if (!$daemons) {
$survivors = array();
- if (!$pids) {
+ if (!$pids && !$gently) {
$survivors = $this->processRogueDaemons(
$grace_period,
$warn = true,
@@ -421,7 +431,9 @@
}
}
- $this->processRogueDaemons($grace_period, !$pids, $force);
+ if (!$gently) {
+ $this->processRogueDaemons($grace_period, !$pids, $force);
+ }
return 0;
}

File Metadata

Mime Type
text/plain
Expires
Jun 1 2024, 4:28 AM (4 w, 2 d ago)
Storage Engine
blob
Storage Format
Encrypted (AES-256-CBC)
Storage Handle
6299465
Default Alt Text
D11784.diff (3 KB)

Event Timeline