mirror of
https://we.phorge.it/source/phorge.git
synced 2025-01-24 21:48:21 +01:00
Allow daemons to be terminated in the absence of MySQL
Summary: Fixes T6842. Allow the daemons to always be terminated, even if MySQL is down. I was hoping to be able to optionally enable this behavior with the `--force` flag, but this seems messy. Test Plan: ```lang=bash > ./bin/phd start Freeing active task leases... Freed 1 task lease(s). Preparing to launch daemons. NOTE: Logs will appear in '/var/tmp/phd/log/daemons.log'. Starting daemons as phd Launching daemon "PhabricatorRepositoryPullLocalDaemon". Starting daemons as phd Launching daemon "PhabricatorGarbageCollectorDaemon". Starting daemons as phd Launching daemon "PhabricatorTaskmasterDaemon". Done. > service mysql stop mysql stop/waiting > ./bin/phd stop Interrupting daemon 'PhabricatorRepositoryPullLocalDaemon' (4263)... Interrupting daemon 'PhabricatorGarbageCollectorDaemon' (4271)... Interrupting daemon 'PhabricatorTaskmasterDaemon' (4287)... Daemon 4263 exited. Daemon 4271 exited. Daemon 4287 exited. ``` Reviewers: #blessed_reviewers, epriestley Reviewed By: #blessed_reviewers, epriestley Subscribers: Korvin, epriestley Maniphest Tasks: T6842 Differential Revision: https://secure.phabricator.com/D11385
This commit is contained in:
parent
1f09e05c68
commit
a85452b8d6
1 changed files with 10 additions and 5 deletions
|
@ -32,11 +32,16 @@ final class PhabricatorDaemonReference {
|
||||||
$ref->pid = idx($dict, 'pid');
|
$ref->pid = idx($dict, 'pid');
|
||||||
$ref->start = idx($dict, 'start');
|
$ref->start = idx($dict, 'start');
|
||||||
|
|
||||||
$ref->daemonLog = id(new PhabricatorDaemonLog())->loadOneWhere(
|
try {
|
||||||
'daemon = %s AND pid = %d AND dateCreated = %d',
|
$ref->daemonLog = id(new PhabricatorDaemonLog())->loadOneWhere(
|
||||||
$ref->name,
|
'daemon = %s AND pid = %d AND dateCreated = %d',
|
||||||
$ref->pid,
|
$ref->name,
|
||||||
$ref->start);
|
$ref->pid,
|
||||||
|
$ref->start);
|
||||||
|
} catch (AphrontQueryException $ex) {
|
||||||
|
// Ignore the exception. We want to be able to terminate the daemons,
|
||||||
|
// even if MySQL is down.
|
||||||
|
}
|
||||||
|
|
||||||
return $ref;
|
return $ref;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue