• Модуль: rest
  • Путь к файлу: ~/bitrix/modules/rest/lib/engine/access/loadlimiter.php
  • Класс: BitrixRestEngineAccessLoadLimiter
  • Вызов: LoadLimiter::getRestTime
static function getRestTime($entityType, $entity, $method): float
{
	$result = [];
	if (static::isActive())
	{
		$numBucket = static::getNumBucket();

		$key = static::getKey($entityType, $entity, $method);
		$resource = static::getConnectionResource();
		if ($resource)
		{
			for ($i = 0; $i < static::$bucketCount; $i++)
			{
				$result[] = (float)$resource->get($key . ($numBucket - $i));
			}
		}
		if (!empty(static::$timeRegistered[$key]['timeStart']))
		{
			foreach (static::$timeRegistered[$key]['timeStart'] as $k => $timeStart)
			{
				if (static::$timeRegistered[$key]['timeFinish'][$k] ?? null)
				{
					$time = static::$timeRegistered[$key]['timeFinish'][$k] - $timeStart;
					if ($time > static::$minimalFixTime)
					{
						$result[] = $time;
					}
				}
			}
		}
	}

	return array_sum($result);
}