mirror of
https://we.phorge.it/source/phorge.git
synced 2024-12-30 01:10:58 +01:00
Warn if daemons are not running
Summary: Currently, we try to mostly-kind-of-work if daemons aren't running (for example, we send mail in-process). I want to stop doing this. A major motivator is that `metamta.send-immediately` is confusing for a lot of users and frequently the cause of performance problems. Increasingly, functionality of applications depends on the daemons (Harbormaster, Drydock, Nuance all require daemons to do anything at all). They're also fairly stable/robust/well-tested and no reasonable install should be running without them. This will let us simplify or remove some flags (like `metamta.send-immediately`) and simplify some other processes like search indexing. Test Plan: Stopped daemons, loaded warnings, saw daemon warning. Started daemons, reloade, no warning. Reviewers: btrahan Reviewed By: btrahan CC: aran Maniphest Tasks: T3857 Differential Revision: https://secure.phabricator.com/D7964
This commit is contained in:
parent
d392a8f157
commit
f060d8eb8f
2 changed files with 48 additions and 0 deletions
|
@ -1924,6 +1924,7 @@ phutil_register_library_map(array(
|
|||
'PhabricatorSetupCheckAuth' => 'applications/config/check/PhabricatorSetupCheckAuth.php',
|
||||
'PhabricatorSetupCheckBaseURI' => 'applications/config/check/PhabricatorSetupCheckBaseURI.php',
|
||||
'PhabricatorSetupCheckBinaries' => 'applications/config/check/PhabricatorSetupCheckBinaries.php',
|
||||
'PhabricatorSetupCheckDaemons' => 'applications/config/check/PhabricatorSetupCheckDaemons.php',
|
||||
'PhabricatorSetupCheckDatabase' => 'applications/config/check/PhabricatorSetupCheckDatabase.php',
|
||||
'PhabricatorSetupCheckExtensions' => 'applications/config/check/PhabricatorSetupCheckExtensions.php',
|
||||
'PhabricatorSetupCheckExtraConfig' => 'applications/config/check/PhabricatorSetupCheckExtraConfig.php',
|
||||
|
@ -4564,6 +4565,7 @@ phutil_register_library_map(array(
|
|||
'PhabricatorSetupCheckAuth' => 'PhabricatorSetupCheck',
|
||||
'PhabricatorSetupCheckBaseURI' => 'PhabricatorSetupCheck',
|
||||
'PhabricatorSetupCheckBinaries' => 'PhabricatorSetupCheck',
|
||||
'PhabricatorSetupCheckDaemons' => 'PhabricatorSetupCheck',
|
||||
'PhabricatorSetupCheckDatabase' => 'PhabricatorSetupCheck',
|
||||
'PhabricatorSetupCheckExtensions' => 'PhabricatorSetupCheck',
|
||||
'PhabricatorSetupCheckExtraConfig' => 'PhabricatorSetupCheck',
|
||||
|
|
|
@ -0,0 +1,46 @@
|
|||
<?php
|
||||
|
||||
final class PhabricatorSetupCheckDaemons extends PhabricatorSetupCheck {
|
||||
|
||||
protected function executeChecks() {
|
||||
|
||||
$task_daemon = id(new PhabricatorDaemonLogQuery())
|
||||
->setViewer(PhabricatorUser::getOmnipotentUser())
|
||||
->withStatus(PhabricatorDaemonLogQuery::STATUS_ALIVE)
|
||||
->withDaemonClasses(array('PhabricatorTaskmasterDaemon'))
|
||||
->setLimit(1)
|
||||
->execute();
|
||||
|
||||
if (!$task_daemon) {
|
||||
$doc_href = PhabricatorEnv::getDocLink(
|
||||
'article/Managing_Daemons_with_phd.html');
|
||||
|
||||
$summary = pht(
|
||||
'You must start the Phabricator daemons to send email, rebuild '.
|
||||
'search indexes, and do other background processing.');
|
||||
|
||||
$message = pht(
|
||||
'The Phabricator daemons are not running, so Phabricator will not '.
|
||||
'be able to perform background processing (including sending email, '.
|
||||
'rebuilding search indexes, importing commits, cleaning up old data, '.
|
||||
'running builds, etc.).'.
|
||||
"\n\n".
|
||||
'Use %s to start daemons. See %s for more information.',
|
||||
phutil_tag('tt', array(), 'bin/phd start'),
|
||||
phutil_tag(
|
||||
'a',
|
||||
array(
|
||||
'href' => $doc_href,
|
||||
),
|
||||
pht('Managing Daemons with phd')));
|
||||
|
||||
$this->newIssue('daemons.not-running')
|
||||
->setShortName(pht('Daemons Not Running'))
|
||||
->setName(pht('Phabricator Daemons Are Not Running'))
|
||||
->setSummary($summary)
|
||||
->setMessage($message)
|
||||
->addCommand('phabricator/ $ ./bin/phd start');
|
||||
}
|
||||
|
||||
}
|
||||
}
|
Loading…
Reference in a new issue