• Модуль: clouds
  • Путь к файлу: ~/bitrix/modules/clouds/classes/general/failover.php
  • Класс: CCloudFailover
  • Вызов: CCloudFailover::lock
static function lock()
{
	$max_parallel_count = COption::GetOptionInt("clouds", "agents_max_parallel_count");
	if ($max_parallel_count == 0)
	{
		return true;
	}
	elseif ($max_parallel_count == 1)
	{
		if (self::_lock_by_id(0))
		{
			return true;
		}
	}
	else
	{
		for ($i = 0; $i < $max_parallel_count; $i++)
		{
			$lockId = mt_rand(0, $max_parallel_count - 1);
			if (self::_lock_by_id($lockId))
			{
				return true;
			}
		}
		for ($i = 0; $i < $max_parallel_count; $i++)
		{
			if (self::_lock_by_id($i))
			{
				return true;
			}
		}
	}
	return false;
}