3 final class DrydockManagementReclaimWorkflow
4 extends DrydockManagementWorkflow
{
6 protected function didConstruct() {
9 ->setSynopsis(pht('Reclaim unused resources.'))
10 ->setArguments(array());
13 public function execute(PhutilArgumentParser
$args) {
14 $viewer = $this->getViewer();
15 $drydock_phid = id(new PhabricatorDrydockApplication())->getPHID();
17 PhabricatorWorker
::setRunAllTasksInProcess(true);
19 $resources = id(new DrydockResourceQuery())
23 DrydockResourceStatus
::STATUS_ACTIVE
,
26 foreach ($resources as $resource) {
27 $command = DrydockCommand
::initializeNewCommand($viewer)
28 ->setTargetPHID($resource->getPHID())
29 ->setAuthorPHID($drydock_phid)
30 ->setCommand(DrydockCommand
::COMMAND_RECLAIM
)
33 $resource->scheduleUpdate();
35 $resource = $resource->reload();
40 $resource->getResourceName());
42 switch ($resource->getStatus()) {
43 case DrydockResourceStatus
::STATUS_RELEASED
:
44 case DrydockResourceStatus
::STATUS_DESTROYED
:
48 'Resource "%s" was reclaimed.',
55 'Resource "%s" could not be reclaimed.',