• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/archive/manager.php
  • Класс: BitrixSaleArchiveManager
  • Вызов: Manager::archiveOnAgent
static function archiveOnAgent($limit, $maxTime = null)
{
	global $USER;
	$agentId = null;

	$limit = (int)$limit ? (int)$limit : 10;
	$maxTime = (int)$maxTime ? (int)$maxTime : null;

	$agentsList = CAgent::GetList(array("ID"=>"DESC"), array(
		"MODULE_ID" => "sale",
		"NAME" => "\Bitrix\Sale\Archive\Manager::archiveOnAgent(%",
	));
	while($agent = $agentsList->Fetch())
	{
		$agentId = $agent["ID"];
	}

	if ($agentId)
	{
		if (!(isset($USER) && $USER instanceof CUser))
		{
			$USER = new CUser();
		}

		$result = static::archiveByOptions($limit, $maxTime);

		$resultData = $result->getData();
		if ($resultData['count'])
		{
			CAgent::Update($agentId, array("AGENT_INTERVAL" => 60*5));

		}
		else
		{
			CAgent::Update($agentId, array("AGENT_INTERVAL" => 24*60*60));
		}
	}
	else
	{
		CAgent::AddAgent("\Bitrix\Sale\Archive\Manager::archiveOnAgent(".$limit.",".$maxTime.");", "sale", "N", 24*60*60, "", "Y");
	}

	return "\Bitrix\Sale\Archive\Manager::archiveOnAgent(".$limit.",".$maxTime.");";
}