diff --git a/resources/sql/autopatches/20210122.queuecontainer.01.sql b/resources/sql/autopatches/20210122.queuecontainer.01.sql new file mode 100644 index 0000000000..29d761f075 --- /dev/null +++ b/resources/sql/autopatches/20210122.queuecontainer.01.sql @@ -0,0 +1,5 @@ +ALTER TABLE {$NAMESPACE}_worker.worker_activetask + ADD containerPHID VARBINARY(64); + +ALTER TABLE {$NAMESPACE}_worker.worker_archivetask + ADD containerPHID VARBINARY(64); diff --git a/src/infrastructure/daemon/workers/PhabricatorWorker.php b/src/infrastructure/daemon/workers/PhabricatorWorker.php index 95e91cf7d5..c62fde447f 100644 --- a/src/infrastructure/daemon/workers/PhabricatorWorker.php +++ b/src/infrastructure/daemon/workers/PhabricatorWorker.php @@ -134,6 +134,7 @@ abstract class PhabricatorWorker extends Phobject { array( 'priority' => 'optional int|null', 'objectPHID' => 'optional string|null', + 'containerPHID' => 'optional string|null', 'delayUntil' => 'optional int|null', )); @@ -142,12 +143,14 @@ abstract class PhabricatorWorker extends Phobject { $priority = self::PRIORITY_DEFAULT; } $object_phid = idx($options, 'objectPHID'); + $container_phid = idx($options, 'containerPHID'); $task = id(new PhabricatorWorkerActiveTask()) ->setTaskClass($task_class) ->setData($data) ->setPriority($priority) - ->setObjectPHID($object_phid); + ->setObjectPHID($object_phid) + ->setContainerPHID($container_phid); $delay = idx($options, 'delayUntil'); if ($delay) { diff --git a/src/infrastructure/daemon/workers/storage/PhabricatorWorkerActiveTask.php b/src/infrastructure/daemon/workers/storage/PhabricatorWorkerActiveTask.php index dfb2bf159d..dad67fc4b3 100644 --- a/src/infrastructure/daemon/workers/storage/PhabricatorWorkerActiveTask.php +++ b/src/infrastructure/daemon/workers/storage/PhabricatorWorkerActiveTask.php @@ -116,6 +116,7 @@ final class PhabricatorWorkerActiveTask extends PhabricatorWorkerTask { ->setDataID($this->getDataID()) ->setPriority($this->getPriority()) ->setObjectPHID($this->getObjectPHID()) + ->setContainerPHID($this->getContainerPHID()) ->setResult($result) ->setDuration($duration) ->setDateCreated($this->getDateCreated()) diff --git a/src/infrastructure/daemon/workers/storage/PhabricatorWorkerArchiveTask.php b/src/infrastructure/daemon/workers/storage/PhabricatorWorkerArchiveTask.php index 25a453b47b..b5c5e2b820 100644 --- a/src/infrastructure/daemon/workers/storage/PhabricatorWorkerArchiveTask.php +++ b/src/infrastructure/daemon/workers/storage/PhabricatorWorkerArchiveTask.php @@ -87,6 +87,7 @@ final class PhabricatorWorkerArchiveTask extends PhabricatorWorkerTask { ->setDataID($this->getDataID()) ->setPriority($this->getPriority()) ->setObjectPHID($this->getObjectPHID()) + ->setContainerPHID($this->getContainerPHID()) ->setDateCreated($this->getDateCreated()) ->insert(); diff --git a/src/infrastructure/daemon/workers/storage/PhabricatorWorkerTask.php b/src/infrastructure/daemon/workers/storage/PhabricatorWorkerTask.php index 2fc26503ea..4faae5c83b 100644 --- a/src/infrastructure/daemon/workers/storage/PhabricatorWorkerTask.php +++ b/src/infrastructure/daemon/workers/storage/PhabricatorWorkerTask.php @@ -11,6 +11,7 @@ abstract class PhabricatorWorkerTask extends PhabricatorWorkerDAO { protected $dataID; protected $priority; protected $objectPHID; + protected $containerPHID; private $data; private $executionException; @@ -25,11 +26,15 @@ abstract class PhabricatorWorkerTask extends PhabricatorWorkerDAO { 'failureTime' => 'epoch?', 'priority' => 'uint32', 'objectPHID' => 'phid?', + 'containerPHID' => 'phid?', ), self::CONFIG_KEY_SCHEMA => array( 'key_object' => array( 'columns' => array('objectPHID'), ), + 'key_container' => array( + 'columns' => array('containerPHID'), + ), ), ) + parent::getConfiguration(); }