• Модуль: tasks
  • Путь к файлу: ~/bitrix/modules/tasks/lib/replicator/template/taskrepeater.php
  • Класс: BitrixTasksReplicatorTemplateTaskRepeater
  • Вызов: TaskRepeater::writeToTemplateHistoryWithOldResult
private function writeToTemplateHistoryWithOldResult(int $nextExecutionTimeTS, string $lastExecutionTime): void
{
	$result = new Result();
	$templateData = $this->repository->getTemplate()->collectValues();
	$templateData['REPLICATE_PARAMS'] = unserialize($templateData['REPLICATE_PARAMS'], ['allowed_classes' => false]);
	$oldNextExecutionTimeTS = (int)MakeTimeStamp(
		UtilReplicatorTaskFromTemplate::getNextTime($templateData, $lastExecutionTime)->getData()['TIME']
	);
	$oldNextExecutionTime = UI::formatDateTime($oldNextExecutionTimeTS);
	$nextExecutionTime = UI::formatDateTime($nextExecutionTimeTS);

	$message = "Replicator/V1: {$oldNextExecutionTimeTS} (s.) / {$oldNextExecutionTime}, Replicator/V2: {$nextExecutionTimeTS} (s.) / {$nextExecutionTime}";

	if ($oldNextExecutionTimeTS !== $nextExecutionTimeTS)
	{
		$templateId = $this->repository->getTemplate()->getId();
		$errorMessage = "Time received from replicators varies. (#{$templateId})";
		$result->addError(new Error($errorMessage));
		(new Log())->collect("{$message}: {$errorMessage}");

	}
	if ($this->isDebug())
	{
		$this->templateHistoryService->write($message, $result);
	}
}