当前位置: 首页>>代码示例>>PHP>>正文


PHP LoadBalancer::getServerInfo方法代码示例

本文整理汇总了PHP中LoadBalancer::getServerInfo方法的典型用法代码示例。如果您正苦于以下问题:PHP LoadBalancer::getServerInfo方法的具体用法?PHP LoadBalancer::getServerInfo怎么用?PHP LoadBalancer::getServerInfo使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在LoadBalancer的用法示例。


在下文中一共展示了LoadBalancer::getServerInfo方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: testHost

 /**
  * Execute checks for a single database server
  * @param string $databaseName Database name to use for connection
  * @param LoadBalancer $loadBalancer Load Balancer instance for the given cluster
  * @param int $index Server index to test
  * @return bool Is server healthy?
  * @throws MWException
  */
 private function testHost($databaseName, LoadBalancer $loadBalancer, $index)
 {
     $serverInfo = $loadBalancer->getServerInfo($index);
     $master = $index == 0;
     // connection check
     try {
         $db = wfGetDB($index, array(), $databaseName);
     } catch (DBError $e) {
         $this->addError("could not connect to server: " . $e->getMessage());
         return false;
     }
     // lag check
     if (!$master && isset($serverInfo['max lag'])) {
         try {
             $maxLag = $serverInfo['max lag'];
             $lag = $db->getLag();
             if ($lag > $maxLag) {
                 $this->addError("lag (%d) is greater than configured \"max lag\" (%d)", $lag, $maxLag);
                 $db->close();
                 return false;
             }
         } catch (DBError $e) {
             $this->addError("could not fetch lag time");
             $db->close();
             return false;
         }
     }
     // read_only check on master
     try {
         $res = $db->query("SHOW VARIABLES LIKE 'read_only';");
         $row = $res->fetchRow();
         $res->free();
         $readWrite = $row['Value'] != 'ON';
         if ($master && !$readWrite) {
             $this->addMessage("read_only is set on master host");
         } else {
             if (!$master && $readWrite) {
                 $this->addMessage("read_only is unset on slave host");
             }
         }
     } catch (DBError $e) {
         $this->addError("could not check read_only flag");
         $db->close();
         return false;
     }
     $db->close();
     return true;
 }
开发者ID:yusufchang,项目名称:app,代码行数:56,代码来源:HealthController.class.php


注:本文中的LoadBalancer::getServerInfo方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。