- Модуль: 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;
}