• Модуль: cluster
  • Путь к файлу: ~/bitrix/modules/cluster/classes/general/redis.php
  • Класс: CClusterRedis
  • Вызов: CClusterRedis::add
public function add($fields) : int
{
	if (!$this->checkFields($fields, false))
	{
		return false;
	}

	$servers = CClusterRedis::loadConfig();

	$id = 1;
	if (!is_array($servers))
	{
		return false;
	}

	foreach ($servers as $server)
	{
		if ($server['ID'] >= $id)
		{
			$id = $server['ID'] + 1;
		}
	}

	$status = self::getStatus($fields);
	$servers[$id] = [
		'ID' => $id,
		'GROUP_ID' => (int) $fields['GROUP_ID'],
		'STATUS' => 'READY',
		'HOST' => $fields['HOST'],
		'PORT' => $fields['PORT'],
		'MODE' => mb_strtoupper($status['redis_mode']),
		'ROLE' => mb_strtoupper($status['role']),
	];

	CClusterRedis::saveConfig($servers);
	return $id;
}