• Модуль: calendar
  • Путь к файлу: ~/bitrix/modules/calendar/lib/core/queue/rule/rulemaster.php
  • Класс: BitrixCalendarCoreQueueRuleRuleMaster
  • Вызов: RuleMaster::routeMessage
private function routeMessage(Message $message): bool
{
	$rules = Registry::getInstance()->getRules();
	$isRouted = false;
	foreach ($rules as $rule)
	{
		try
		{
			if ($handledMessage = $rule->route($message))
			{
				/** @var HandledMessage $handledMessage */
				$handledMessage = $this->getHandledMessageMapper()->create($handledMessage);
				$this->getRoutedQueues()->add($handledMessage->getQueue());
				$isRouted = true;
			}
		}
		catch(Throwable $e)
		{
			// TODO: log error
		}
	}

	return $isRouted;
}