Page MenuHomePhabricator

D19754.id47204.diff
No OneTemporary

D19754.id47204.diff

diff --git a/src/applications/drydock/worker/DrydockLeaseUpdateWorker.php b/src/applications/drydock/worker/DrydockLeaseUpdateWorker.php
--- a/src/applications/drydock/worker/DrydockLeaseUpdateWorker.php
+++ b/src/applications/drydock/worker/DrydockLeaseUpdateWorker.php
@@ -599,6 +599,13 @@
'DrydockResourceUpdateWorker',
array(
'resourcePHID' => $resource->getPHID(),
+
+ // This task will generally yield while the resource activates, so
+ // wake it back up once the resource comes online. Most of the time,
+ // we'll be able to lease the newly activated resource.
+ 'awakenOnActivation' => array(
+ $this->getCurrentWorkerTaskID(),
+ ),
),
array(
'objectPHID' => $resource->getPHID(),
diff --git a/src/applications/drydock/worker/DrydockResourceUpdateWorker.php b/src/applications/drydock/worker/DrydockResourceUpdateWorker.php
--- a/src/applications/drydock/worker/DrydockResourceUpdateWorker.php
+++ b/src/applications/drydock/worker/DrydockResourceUpdateWorker.php
@@ -170,6 +170,11 @@
$blueprint = $resource->getBlueprint();
$blueprint->activateResource($resource);
$this->validateActivatedResource($blueprint, $resource);
+
+ $awaken_ids = $this->getTaskDataValue('awakenOnActivation');
+ if (is_array($awaken_ids) && $awaken_ids) {
+ PhabricatorWorker::awakenTaskIDs($awaken_ids);
+ }
}

File Metadata

Mime Type
text/plain
Expires
Tue, Apr 15, 11:18 AM (1 w, 2 d ago)
Storage Engine
blob
Storage Format
Encrypted (AES-256-CBC)
Storage Handle
7724787
Default Alt Text
D19754.id47204.diff (1 KB)

Event Timeline