- Модуль: cluster
- Путь к файлу: ~/bitrix/modules/cluster/classes/general/redis.php
- Класс: CClusterRedis
- Вызов: CClusterRedis::update
public function update($serverID, $fields) : bool
{
if (!is_array($serverID))
{
$serverID = [ 0 => (int) $serverID];
}
$servers = CClusterRedis::loadConfig();
foreach ($serverID as $id)
{
if (!array_key_exists($id, $servers))
{
return false;
}
$status = $this->checkFields($servers[$id]);
if (empty($status) || $status['message'] !== null || intval($status['uptime_in_seconds']) <= 0)
{
return false;
}
$servers[$id] = [
'ID' => $id,
'GROUP_ID' => $servers[$id]['GROUP_ID'],
'STATUS' => $fields['STATUS'] ?? $servers[$id]['STATUS'],
'HOST' => $fields['HOST'] ?? $servers[$id]['HOST'],
'PORT' => $fields['PORT'] ?? $servers[$id]['PORT'],
'MODE' => mb_strtoupper($servers[$id]['MODE']),
'ROLE' => mb_strtoupper($servers[$id]['ROLE'])
];
}
CClusterRedis::saveConfig($servers);
return true;
}