• Модуль: tasks
  • Путь к файлу: ~/bitrix/modules/tasks/classes/general/tasknotifications.php
  • Класс: CTaskNotifications
  • Вызов: CTaskNotifications::throttleRelease
static function throttleRelease(): void
{
	$items = ThrottleTable::getUpdateMessages();
	if (is_array($items) && !empty($items))
	{
		$cacheAutoClearingWasDisabled = CTasks::disableCacheAutoClear();
		$notificationAutoDeliveryWasDisabled = CTaskNotifications::disableAutoDeliver();

		// this function may be called on agent
		// DO NOT relay on global user as an author, use field AUTHOR_ID instead
		foreach ($items as $item)
		{
			self::SendUpdateMessage(
				$item['STATE_LAST'],
				$item['STATE_ORIG'],
				false,
				[
					'AUTHOR_ID' => $item['AUTHOR_ID'],
					'IGNORE_AUTHOR' => isset($item['IGNORE_RECIPIENTS'][$item['AUTHOR_ID']]),
				]
			);
		}

		if ($notificationAutoDeliveryWasDisabled)
		{
			CTaskNotifications::enableAutoDeliver();
		}
		if ($cacheAutoClearingWasDisabled)
		{
			CTasks::enableCacheAutoClear();
		}
	}
}