Skip to content

Commit 1a66f3f

Browse files
committed
Merge remote-tracking branch 'origin/MAGETWO-90139' into 2.3-develop-pr10-2
2 parents 0602eb8 + 851eca6 commit 1a66f3f

File tree

1 file changed

+32
-3
lines changed

1 file changed

+32
-3
lines changed

app/code/Magento/Deploy/Process/Queue.php

Lines changed: 32 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -187,15 +187,44 @@ private function assertAndExecute($name, array & $packages, array $packageJob)
187187
{
188188
/** @var Package $package */
189189
$package = $packageJob['package'];
190+
$dependenciesNotFinished = false;
190191
if ($package->getParent() && $package->getParent() !== $package) {
191192
foreach ($packageJob['dependencies'] as $dependencyName => $dependency) {
192193
if (!$this->isDeployed($dependency)) {
193-
$this->assertAndExecute($dependencyName, $packages, $packages[$dependencyName]);
194+
//If it's not present in $packages then it's already
195+
//in progress so just waiting...
196+
if (!array_key_exists($dependencyName, $packages)) {
197+
$dependenciesNotFinished = true;
198+
} else {
199+
$this->assertAndExecute(
200+
$dependencyName,
201+
$packages,
202+
$packages[$dependencyName]
203+
);
204+
}
194205
}
195206
}
196207
}
197-
if (!$this->isDeployed($package)
198-
&& ($this->maxProcesses < 2 || (count($this->inProgress) < $this->maxProcesses))) {
208+
$this->executePackage($package, $name, $packages, $dependenciesNotFinished);
209+
}
210+
211+
/**
212+
* @param Package $package
213+
* @param string $name
214+
* @param array $packages
215+
* @param bool $dependenciesNotFinished
216+
* @return void
217+
*/
218+
private function executePackage(
219+
Package $package,
220+
string $name,
221+
array &$packages,
222+
bool $dependenciesNotFinished
223+
) {
224+
if (!$dependenciesNotFinished
225+
&& !$this->isDeployed($package)
226+
&& ($this->maxProcesses < 2 || (count($this->inProgress) < $this->maxProcesses))
227+
) {
199228
unset($packages[$name]);
200229
$this->execute($package);
201230
}

0 commit comments

Comments
 (0)