• Модуль: tasks
  • Путь к файлу: ~/bitrix/modules/tasks/lib/util/replicator/task/fromtemplate.php
  • Класс: BitrixTasksUtilReplicatorTaskFromTemplate
  • Вызов: FromTemplate::reInstallAgent
static function reInstallAgent($templateId, array $templateData)
{
	// todo: get rid of use of CTasks one day...
	$name = 'CTasks::RepeatTaskByTemplateId('.$templateId.');';

	// First, remove all agents for this template

	self::unInstallAgent($templateId);

	// Set up new agent
	if ($templateData['REPLICATE'] === 'Y')
	{
		$nextTimeResult = static::getNextTime($templateData);
		if ($nextTimeResult->isSuccess())
		{
			$nextTimeData = $nextTimeResult->getData();
			$nextTime = $nextTimeData['TIME'];

			if($nextTime)
			{

				CAgent::addAgent(
					$name,
					'tasks',
					'N',        // is periodic?
					86400,        // interval
					$nextTime,    // datecheck
					'Y',        // is active?
					$nextTime    // next_exec
				);
			}
			else
			{
				static::sendToSysLog(
					$templateId,
					0,
					Loc::getMessage('TASKS_REPLICATOR_PROCESS_STOPPED'). ' '.Loc::getMessage('TASKS_REPLICATOR_PROCESS_ERROR')
				);
			}
		}
	}
}