• Модуль: main
  • Путь к файлу: ~/bitrix/modules/main/lib/db/dbconnectionpool.php
  • Класс: BitrixMainDBDbConnectionPool
  • Вызов: DbConnectionPool::GetModuleConnection
function GetModuleConnection($module_id, $bModuleInclude = false)
	{
		$node_id = COption::getOptionString($module_id, "dbnode_id", "N");
		if(is_numeric($node_id))
		{
			if($bModuleInclude)
			{
				$status = COption::getOptionString($module_id, "dbnode_status", "ok");
				if($status === "move")
					return false;
			}

			$moduleDB = CDatabase::getDBNodeConnection($node_id, $bModuleInclude);

			if(is_object($moduleDB))
			{
				$moduleDB->bModuleConnection = true;
				return $moduleDB;
			}

			//There was an connection error
			if($bModuleInclude && CModule::includeModule('cluster'))
				CClusterDBNode::setOffline($node_id);

			//TODO: unclear what to return when node went offline
			//in the middle of the hit.
			return false;
		}
		else
		{
			return $GLOBALS["DB"];
		}
	}