9 use Symfony\Component\Console\Output\OutputInterface;
20 private $maintenanceMode;
25 private $skipDisableMaintenanceMode;
32 $this->maintenanceMode = $maintenanceMode;
41 private function enableMaintenanceMode(OutputInterface
$output)
43 if ($this->maintenanceMode->isOn()) {
44 $this->skipDisableMaintenanceMode =
true;
45 $output->writeln(
'<info>Maintenance mode already enabled</info>');
49 $this->maintenanceMode->set(
true);
50 $this->skipDisableMaintenanceMode =
false;
51 $output->writeln(
'<info>Enabling maintenance mode</info>');
60 private function disableMaintenanceMode(OutputInterface
$output)
62 if ($this->skipDisableMaintenanceMode) {
63 $output->writeln(
'<info>Skipped disabling maintenance mode</info>');
67 $this->maintenanceMode->set(
false);
68 $output->writeln(
'<info>Disabling maintenance mode</info>');
82 $this->enableMaintenanceMode(
$output);
86 }
catch (\Throwable $e) {
87 if (!$holdMaintenanceOnFailure) {
88 $this->disableMaintenanceMode(
$output);
93 $this->disableMaintenanceMode(
$output);
call_user_func($callable, $param)
executeInMaintenanceMode(callable $task, OutputInterface $output, bool $holdMaintenanceOnFailure)
__construct(MaintenanceMode $maintenanceMode)