• Модуль: pull
  • Путь к файлу: ~/bitrix/modules/pull/lib/event.php
  • Класс: BitrixPullEvent
  • Вызов: Event::sendEventsLegacy
static function sendEventsLegacy()
{
	foreach (self::$messages as $eventCode => $event)
	{
		if (BitrixPullLog::isEnabled())
		{
			// TODO change code after release - $parameters['hasCallback']
			$currentHits = ceil(count($event['channels']) / CPullOptions::GetCommandPerHit());
			$hitCount += $currentHits;

			$currentChannelCount = count($event['channels']);
			$channelCount += $currentChannelCount;

			$currentMessagesBytes = self::getBytes($event['event']) + self::getBytes($event['channels']);
			$messagesBytes += $currentMessagesBytes;
			$logs[] = 'Command: ' . $event['event']['module_id'] . '/' . $event['event']['command'] . '; Hits: ' . $currentHits . '; Channel: ' . $currentChannelCount . '; Bytes: ' . $currentMessagesBytes . '';
		}

		if (empty($event['channels']))
		{
			continue;
		}

		$data = [
			'module_id' => $event['event']['module_id'],
			'command' => $event['event']['command'],
			'params' => is_array($event['event']['params']) ? $event['event']['params'] : [],
			'extra' => $event['event']['extra'],
		];
		$options = ['expiry' => $event['event']['expiry']];

		if (CPullChannel::Send($event['channels'], BitrixPullCommon::jsonEncode($data), $options))
		{
			unset(self::$messages[$eventCode]);
		}
	}

	if ($logs && BitrixPullLog::isEnabled())
	{
		if (count($logs) > 1)
		{
			$logs[] = 'Total - Hits: ' . $hitCount . '; Channel: ' . $channelCount . '; Messages: ' . $messagesCount . '; Bytes: ' . $messagesBytes . '';
		}

		if (count($logs) > 1 || $hitCount > 1 || $channelCount > 1 || $messagesBytes > 1000)
		{
			$logTitle = '!! Pull messages stats - important !!';
		}
		else
		{
			$logTitle = '-- Pull messages stats --';
		}

		BitrixPullLog::write(implode("n", $logs), $logTitle);
	}
}