本文整理匯總了PHP中PhabricatorEnv::setReadOnly方法的典型用法代碼示例。如果您正苦於以下問題:PHP PhabricatorEnv::setReadOnly方法的具體用法?PHP PhabricatorEnv::setReadOnly怎麽用?PHP PhabricatorEnv::setReadOnly使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類PhabricatorEnv
的用法示例。
在下文中一共展示了PhabricatorEnv::setReadOnly方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: newClusterConnection
private function newClusterConnection($application, $database, $mode)
{
$master = PhabricatorDatabaseRef::getMasterDatabaseRefForApplication($application);
if ($master && !$master->isSevered()) {
$connection = $master->newApplicationConnection($database);
if ($master->isReachable($connection)) {
return $connection;
} else {
if ($mode == 'w') {
$this->raiseImpossibleWrite($database);
}
PhabricatorEnv::setReadOnly(true, PhabricatorEnv::READONLY_UNREACHABLE);
}
}
$replica = PhabricatorDatabaseRef::getReplicaDatabaseRefForApplication($application);
if ($replica) {
$connection = $replica->newApplicationConnection($database);
$connection->setReadOnly(true);
if ($replica->isReachable($connection)) {
return $connection;
}
}
if (!$master && !$replica) {
$this->raiseUnconfigured($database);
}
$this->raiseUnreachable($database);
}
示例2: execute
public function execute(PhutilArgumentParser $args)
{
$this->setDryRun($args->getArg('dryrun'));
$this->setForce($args->getArg('force'));
if (!$this->isReadOnlyWorkflow()) {
if (PhabricatorEnv::isReadOnly()) {
if ($this->isForce()) {
PhabricatorEnv::setReadOnly(false, null);
} else {
throw new PhutilArgumentUsageException(pht('Phabricator is currently in read-only mode. Use --force to ' . 'override this mode.'));
}
}
}
return $this->didExecute($args);
}