- Модуль: 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;
}