• Модуль: tasks
  • Путь к файлу: ~/bitrix/modules/tasks/lib/internals/counter/agent.php
  • Класс: BitrixTasksInternalsCounterAgent
  • Вызов: Agent::add
static function add($taskId, DateTime $deadline, bool $forceExpired = false): bool
{
	if (Deadline::isDeadlineExpired($deadline))
	{
		$soon = '';
		$agentStart = new DateTime();
	}
	else if ($forceExpired || Deadline::isDeadlineExpiredSoon($deadline))
	{
		$soon = '';
		$agentStart = $deadline;
	}
	else
	{
		$soon = 'Soon';
		$agentStart = clone $deadline;
		$agentStart->addSecond(-Deadline::getDeadlineTimeLimit());
	}

	$agentName = self::getClass()."::expired{$soon}({$taskId});";
	$agentStart = ($agentStart ?: new DateTime());

	self::remove($taskId);
	CAgent::AddAgent($agentName, 'tasks', 'Y', 0, '', 'Y', $agentStart);

	return true;
}