• Модуль: calendar
  • Путь к файлу: ~/bitrix/modules/calendar/lib/core/queue/agent/baseagent.php
  • Класс: BitrixCalendarCoreQueueAgentBaseAgent
  • Вызов: BaseAgent::run
protected function run()
{
	$consumer = $this->getConsumer();
	$processor = $this->getProcessor();

	$startTime = time();
	$this->deescalateMe();
	while ($message = $consumer->receive())
	{
		$result = $processor->process($message);

		if ($result === InterfacesProcessor::ACK)
		{
			$consumer->acknowledge($message);
		}
		else if ($result === InterfacesProcessor::REJECT)
		{
			$consumer->reject($message);
		}

		$this->escalateMe();
		if ((time() - $startTime) > $this->getTimeLimit())
		{
			break;
		}
	}
}