Path: blob/master/src/applications/files/worker/FileDeletionWorker.php
12242 views
<?php12final class FileDeletionWorker extends PhabricatorWorker {34private function loadFile() {5$phid = idx($this->getTaskData(), 'objectPHID');6if (!$phid) {7throw new PhabricatorWorkerPermanentFailureException(8pht('No "%s" in task data.', 'objectPHID'));9}1011$file = id(new PhabricatorFileQuery())12->setViewer(PhabricatorUser::getOmnipotentUser())13->withPHIDs(array($phid))14->executeOne();1516if (!$file) {17throw new PhabricatorWorkerPermanentFailureException(18pht('File "%s" does not exist.', $phid));19}2021return $file;22}2324protected function doWork() {25$file = $this->loadFile();26$engine = new PhabricatorDestructionEngine();27$engine->destroyObject($file);28}2930}313233