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);
     }
 }
Beispiel #3
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();
}