• Модуль: disk
  • Путь к файлу: ~/bitrix/modules/disk/lib/internals/rights/healer.php
  • Класс: BitrixDiskInternalsRightsHealer
  • Вызов: Healer::restartSetupSession
static function restartSetupSession()
{
	$portion = 3;
	$maxExecutionTime = 10;
	$startTime = time();

	$rows = SetupSession::getList(array(
		'filter' => array(
			'=STATUS' => SetupSession::STATUS_STARTED,
			'=IS_EXPIRED' => true,
		),
		'limit' => $portion,
	));

	foreach ($rows as $row)
	{
		if(time() - $startTime > $maxExecutionTime)
		{
			break;
		}
		
		/** @var SetupSession $setupSession */
		$setupSession = SetupSession::buildFromArray($row);
		$setupSession->forkAndRestart();

		break;
	}
	
	return static::className() . "::restartSetupSession();";
}