• Модуль: calendar
  • Путь к файлу: ~/bitrix/modules/calendar/lib/core/queue/producer/producer.php
  • Класс: BitrixCalendarCoreQueueProducerProducer
  • Вызов: Producer::sendBatch
public function sendBatch(array $messages): void
{
	$dateCreate = new DateTime();
	$realMessagesData = [];

	foreach ($messages as $message)
	{
		if ($message instanceof InterfacesMessage)
		{
			$realMessagesData[] = [
				'MESSAGE' => [
					Dictionary::MESSAGE_PARTS['body'] => $message->getBody(),
					Dictionary::MESSAGE_PARTS['headers'] => $message->getHeaders(),
					Dictionary::MESSAGE_PARTS['properties'] => $message->getProperties(),
				],
				'DATE_CREATE' => $dateCreate,
			];
		}
	}

	if (!empty($realMessagesData))
	{
		QueueMessageTable::addMulti($realMessagesData, true);
		$this->throwEventForQueue();
	}
}