• Модуль: tasks
  • Путь к файлу: ~/bitrix/modules/tasks/lib/internals/counter/counterservice.php
  • Класс: BitrixTasksInternalsCounterCounterService
  • Вызов: CounterService::handleLostEvents
private function handleLostEvents(): void
{
	if (!Application::getConnection()->lock(self::LOCK_KEY))
	{
		return;
	}

	$events = CounterEventEventTable::getLostEvents();
	if (empty($events))
	{
		return;
	}

	foreach ($events as $row)
	{
		$event = new Event(
			$row['HID'],
			$row['TYPE']
		);
		$event
			->setId($row['ID'])
			->setData(MainWebJson::decode($row['DATA']));
		$this->getEventCollection()->push($event);

		$taskData = !empty($row['TASK_DATA']) ? MainWebJson::decode($row['TASK_DATA']) : null;
		if ($taskData && array_key_exists('ID', $taskData))
		{
			$this->getResourceCollection()->collectOrigin((int)$taskData['ID'], $taskData);
		}
	}
}