• Модуль: controller
  • Путь к файлу: ~/bitrix/modules/controller/classes/general/counter.php
  • Класс: CAllControllerCounter
  • Вызов: CAllControllerCounter::DeleteValuesAgent
static function DeleteValuesAgent($COUNTER_ID)
{
	global $DB;

	$COUNTER_ID = intval($COUNTER_ID);
	$agentDeleteLimit = COption::GetOptionInt('controller', 'delete_agent_limit');
	$agentTimeLimit = COption::GetOptionInt('controller', 'delete_agent_time');

	if ($COUNTER_ID <= 0 || $agentDeleteLimit <= 0 || $agentTimeLimit <= 0)
	{
		return '';
	}

	while (static::$agentTotalTime < $agentTimeLimit)
	{
		$stime = microtime(1);
		$rs = $DB->Query("
			DELETE FROM b_controller_counter_value
			WHERE CONTROLLER_COUNTER_ID = ".$COUNTER_ID."
			limit ".$agentDeleteLimit."
		");
		$etime = microtime(1);
		static::$agentTotalTime += $etime - $stime;
		if (!$rs->AffectedRowsCount())
		{
			return '';
		}
	}

	return 'CControllerCounter::DeleteValuesAgent('.$COUNTER_ID.');';
}