protected function execute(InputInterface $input, OutputInterface $output) { if ($input->getOption("maintenance-mode")) { // set the timeout between each iteration to 0 if maintenance mode is on, because // we don't have to care about the load on the server Warming::setTimoutBetweenIteration(0); } try { $types = $this->getArrayOption('types', 'validTypes', 'type', true); $documentTypes = $this->getArrayOption('documentTypes', 'validDocumentTypes', 'document type'); $assetTypes = $this->getArrayOption('assetTypes', 'validAssetTypes', 'asset type'); $objectTypes = $this->getArrayOption('objectTypes', 'validObjectTypes', 'object type'); } catch (\InvalidArgumentException $e) { $this->writeError($e->getMessage()); return 1; } if (in_array('document', $types)) { $this->writeWarmingMessage('document', $documentTypes); Warming::documents($documentTypes); } if (in_array('asset', $types)) { $this->writeWarmingMessage('asset', $assetTypes); Warming::assets($assetTypes); } if (in_array('object', $types)) { $this->writeWarmingMessage('object', $objectTypes); Warming::assets($assetTypes); } $this->disableMaintenanceMode(); }
/** * Enable maintenance mode if --maintenanceMode option was passed */ protected function enableMaintenanceMode() { // enable maintenance mode if requested if ($this->input->getOption('maintenanceMode')) { $maintenanceModeId = 'cache-warming-dummy-session-id'; $this->output->writeln('Activating maintenance mode with ID <comment>%s</comment>...', $maintenanceModeId); Admin::activateMaintenanceMode($maintenanceModeId); // set the timeout between each iteration to 0 if maintenance mode is on, because // we don't have to care about the load on the server Warming::setTimoutBetweenIteration(0); } }
$types = explode(",", $opts->getOption("types")); } if (in_array("document", $types)) { $docTypes = null; if ($opts->getOption("documentTypes")) { $docTypes = explode(",", $opts->getOption("documentTypes")); } Warmer::documents($docTypes); } if (in_array("asset", $types)) { $assetTypes = null; if ($opts->getOption("assetTypes")) { $assetTypes = explode(",", $opts->getOption("assetTypes")); } Warmer::assets($assetTypes); } if (in_array("object", $types)) { $objectTypes = null; if ($opts->getOption("objectTypes")) { $objectTypes = explode(",", $opts->getOption("objectTypes")); } $classes = null; if ($opts->getOption("classes")) { $classes = explode(",", $opts->getOption("classes")); } Warmer::objects($objectTypes, $classes); } // disable maintenance mode if requested if ($opts->getOption("maintenanceMode")) { \Pimcore\Tool\Admin::deactivateMaintenanceMode(); }