protected function commandReady(array $data, Connection $conn)
{
$port = $this->getPort($conn);
$this->slaves[$port]['ready'] = true;
$this->slaves[$port]['bootstrapFailed'] = 0;
$this->slaves[$port]['duringBootstrap'] = false;
if ($this->output->isVeryVerbose()) {
$this->output->writeln(sprintf('Worker #%d ready.', $port));
}
$readySlaves = array_filter($this->slaves, function ($item) {
return $item['ready'];
});
if (($this->emergencyMode || $this->waitForSlaves) && $this->slaveCount === count($readySlaves)) {
if ($this->emergencyMode) {
$this->output->writeln("<info>Emergency survived. Workers up and running again.</info>");
} else {
$this->output->writeln(sprintf("<info>%d workers (starting at 5501) up and ready. Application is ready at http://%s:%s/</info>", $this->slaveCount, $this->host, $this->port));
}
$this->waitForSlaves = false;
// all slaves started
$this->emergencyMode = false;
// emergency survived
}
}