• Модуль: disk
  • Путь к файлу: ~/bitrix/modules/disk/lib/internals/cleaner.php
  • Класс: BitrixDiskInternalsCleaner
  • Вызов: Cleaner::deleteUnnecessaryFiles
static function deleteUnnecessaryFiles($type = self::DELETE_TYPE_PORTION, $limit = 10)
{
	$portion = $limit;
	if($type === self::DELETE_TYPE_TIME)
	{
		$portion = 100;
	}

	$query = new Query(MainFileTable::getEntity());
	$query
		->addSelect('ID')
		->addFilter('=EXTERNAL_ID', 'unnecessary')
		->addFilter('=MODULE_ID', Driver::INTERNAL_MODULE_ID)
		->setLimit($portion)
	;

	$workLoad = false;
	$dbResult = $query->exec();
	$startTime = time();
	while($row = $dbResult->fetch())
	{
		$workLoad = true;
		if($type === self::DELETE_TYPE_TIME && (time() - $startTime > $limit))
		{
			break;
		}
		CFile::delete($row['ID']);
	}

	if(!$workLoad)
	{
		return '';
	}

	return self::class  . "::deleteUnnecessaryFiles({$type}, {$limit});";
}