• Модуль: disk
  • Путь к файлу: ~/bitrix/modules/disk/lib/search/reindex/stepper.php
  • Класс: BitrixDiskSearchReindexStepper
  • Вызов: Stepper::processStep
protected function processStep($lastId);

public function execute(array &$result)
{
	$statusAgent = self::getStatus();
	if ($statusAgent === self::STATUS_FINISH || $statusAgent === self::STATUS_PAUSE)
	{
		return self::FINISH_EXECUTION;
	}

	$status = $this->loadCurrentStatus();
	if (empty($status['count']) || $status['count'] < 0 || $status['steps'] >= $status['count'])
	{
		self::finishExecution();

		return self::FINISH_EXECUTION;
	}

	$newStatus = [
		'count' => $status['count'],
		'steps' => $status['steps'],
	];

	[
		'lastId' => $newStatus['lastId'],
		'steps' => $steps
	] = $this->processStep($status['lastId']);

	$newStatus['steps'] += $steps;
	if (!empty($newStatus['lastId']))
	{
		Option::set(static::getModuleId(), static::getName(), serialize($newStatus));
		$result = [
			'count' => $newStatus['count'],
			'steps' => $newStatus['steps'],
		];

		return self::CONTINUE_EXECUTION;
	}

	self::finishExecution();

	return self::FINISH_EXECUTION;
}