• Модуль: calendar
  • Путь к файлу: ~/bitrix/modules/calendar/lib/core/queue/processor/pushdelayedsection.php
  • Класс: BitrixCalendarCoreQueueProcessorPushDelayedSection
  • Вызов: PushDelayedSection::process
public function process(InterfacesMessage $message): string
{
	$data = $message->getBody();

	$sectionConnectionId = $data[SyncPushDictionary::PUSH_TYPE['sectionConnection']] ?? null;
	if (empty($sectionConnectionId))
	{
		return self::REJECT;
	}

	try
	{
		$push = PushTable::getById([
			'ENTITY_TYPE' => PushManager::TYPE_SECTION_CONNECTION,
			'ENTITY_ID' => $sectionConnectionId,
		])->fetchObject();
		if ($push)
		{
			$result = (new PushManager())->handlePush(
				$push->getChannelId(),
				$push->getResourceId()
			);
		}

		return self::ACK;
	}
	catch (Exception $e)
	{
		return self::REJECT;
	}
}