• Модуль: disk
  • Путь к файлу: ~/bitrix/modules/disk/lib/volume/cleaner.php
  • Класс: BitrixDiskVolumeCleaner
  • Вызов: Cleaner::checkRestoreWorkers
static function checkRestoreWorkers(int $ownerId = -1): int
{
	$filter = [
		'=AGENT_LOCK' => [VolumeTask::TASK_STATUS_WAIT, VolumeTask::TASK_STATUS_RUNNING]
	];
	if ($ownerId > 0)
	{
		$filter['=OWNER_ID'] = $ownerId;
	}
	$workerCount = VolumeTable::getCount($filter);
	if ($workerCount > 0)
	{
		$agents = CAgent::getList(
			['ID' => 'DESC'],
			['=NAME' => self::agentName()]
		);
		if ((int)$agents->selectedRowsCount() == 0)
		{
			self::addWorker(['ownerId' => $ownerId]);
		}
	}
	else
	{
		self::clearProgressInfo($ownerId);
	}

	return $workerCount;
}