• Модуль: bizproc
  • Путь к файлу: ~/bitrix/modules/bizproc/lib/script/queue/stepper.php
  • Класс: BitrixBizprocScriptQueueStepper
  • Вызов: Stepper::execute
public function execute(array &$result)
{
	$params = $this->getOuterParams();
	$queueId = reset($params);
	$scriptId = next($params);

	$counters = ScriptQueueTable::getDocumentCounters($queueId);

	$result['count'] = $counters['all'];
	$result['steps'] = $counters['completed'];

	if ($result['steps'] >= $result['count'])
	{
		ScriptQueueTable::markCompleted($queueId);
		return self::FINISH_EXECUTION;
	}

	$script = Manager::getById($scriptId);

	if (!$script)
	{
		ScriptQueueTable::delete($queueId);
		return self::FINISH_EXECUTION;
	}

	$document = ScriptQueueTable::getNextQueuedDocument($queueId);

	if (!$document)
	{
		ScriptQueueTable::markCompleted($queueId);
		return self::FINISH_EXECUTION;
	}

	ScriptQueueTable::markExecuting($queueId);
	return $this->executeDocument($document, $script);
}