• Модуль: main
  • Путь к файлу: ~/bitrix/modules/main/lib/application.php
  • Класс: BitrixMainApplication
  • Вызов: Application::runBackgroundJobs
protected function runBackgroundJobs()
{
	$lastException = null;
	$exceptionHandler = $this->getExceptionHandler();

	//jobs can be added from jobs
	while($this->backgroundJobs->valid())
	{
		//clear the queue
		$jobs = [];
		foreach ($this->backgroundJobs as $job)
		{
			$jobs[] = $job;
		}

		//do job
		foreach ($jobs as $job)
		{
			try
			{
				call_user_func_array($job[0], $job[1]);
			}
			catch (Throwable $exception)
			{
				$lastException = $exception;
				$exceptionHandler->writeToLog($exception);
			}
		}
	}

	if ($lastException !== null)
	{
		throw $lastException;
	}
}