Page MenuHomePhorge

DrydockManagementReclaimWorkflow.php
No OneTemporary

Size
1 KB
Referenced Files
None
Subscribers
None

DrydockManagementReclaimWorkflow.php

<?php
final class DrydockManagementReclaimWorkflow
extends DrydockManagementWorkflow {
protected function didConstruct() {
$this
->setName('reclaim')
->setSynopsis(pht('Reclaim unused resources.'))
->setArguments(array());
}
public function execute(PhutilArgumentParser $args) {
$viewer = $this->getViewer();
$drydock_phid = id(new PhabricatorDrydockApplication())->getPHID();
PhabricatorWorker::setRunAllTasksInProcess(true);
$resources = id(new DrydockResourceQuery())
->setViewer($viewer)
->withStatuses(
array(
DrydockResourceStatus::STATUS_ACTIVE,
))
->execute();
foreach ($resources as $resource) {
$command = DrydockCommand::initializeNewCommand($viewer)
->setTargetPHID($resource->getPHID())
->setAuthorPHID($drydock_phid)
->setCommand(DrydockCommand::COMMAND_RECLAIM)
->save();
$resource->scheduleUpdate();
$resource = $resource->reload();
$name = pht(
'Resource %d: %s',
$resource->getID(),
$resource->getResourceName());
switch ($resource->getStatus()) {
case DrydockResourceStatus::STATUS_RELEASED:
case DrydockResourceStatus::STATUS_DESTROYED:
echo tsprintf(
"%s\n",
pht(
'Resource "%s" was reclaimed.',
$name));
break;
default:
echo tsprintf(
"%s\n",
pht(
'Resource "%s" could not be reclaimed.',
$name));
break;
}
}
}
}

File Metadata

Mime Type
text/x-php
Expires
Mon, May 12, 2:07 PM (2 d)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
123203
Default Alt Text
DrydockManagementReclaimWorkflow.php (1 KB)

Event Timeline