public function testPattern() { $object = new ComplexParameter('f', '/^-%s=(bar|baz)$/'); $this->assertSame([], $object->getFromString('-f=1')); $this->assertSame(['bar' => ''], $object->getFromString('-f=bar')); $this->assertSame(['baz' => ''], $object->getFromString('-f=baz')); }
/** * {@inheritdoc} */ protected function execute(InputInterface $input, OutputInterface $output) { $params[self::INPUT_KEY_GROUP] = $input->getOption(self::INPUT_KEY_GROUP); $params[Observer::STANDALONE_PROCESS_STARTED] = '0'; $bootstrap = $input->getOption(Cli::INPUT_KEY_BOOTSTRAP); if ($bootstrap) { $bootstrapProcessor = new ComplexParameter(Cli::INPUT_KEY_BOOTSTRAP); $bootstrapOptionValues = $bootstrapProcessor->getFromString('--' . Cli::INPUT_KEY_BOOTSTRAP . '=' . $bootstrap); $bootstrapOptionValue = $bootstrapOptionValues[Observer::STANDALONE_PROCESS_STARTED]; if ($bootstrapOptionValue) { $params[Observer::STANDALONE_PROCESS_STARTED] = $bootstrapOptionValue; } } /** @var \Magento\Framework\App\Cron $cronObserver */ $cronObserver = $this->objectManager->create('Magento\\Framework\\App\\Cron', ['parameters' => $params]); $cronObserver->launch(); $output->writeln('<info>' . 'Ran jobs by schedule.' . '</info>'); }
/** * {@inheritdoc} */ protected function execute(InputInterface $input, OutputInterface $output) { $omParams = $_SERVER; $omParams[StoreManager::PARAM_RUN_CODE] = 'admin'; $omParams[Store::CUSTOM_ENTRY_POINT_PARAM] = true; $objectManager = $this->objectManagerFactory->create($omParams); $params[self::INPUT_KEY_GROUP] = $input->getOption(self::INPUT_KEY_GROUP); $params[ProcessCronQueueObserver::STANDALONE_PROCESS_STARTED] = '0'; $bootstrap = $input->getOption(Cli::INPUT_KEY_BOOTSTRAP); if ($bootstrap) { $bootstrapProcessor = new ComplexParameter(Cli::INPUT_KEY_BOOTSTRAP); $bootstrapOptionValues = $bootstrapProcessor->getFromString('--' . Cli::INPUT_KEY_BOOTSTRAP . '=' . $bootstrap); $bootstrapOptionValue = $bootstrapOptionValues[ProcessCronQueueObserver::STANDALONE_PROCESS_STARTED]; if ($bootstrapOptionValue) { $params[ProcessCronQueueObserver::STANDALONE_PROCESS_STARTED] = $bootstrapOptionValue; } } /** @var \Magento\Framework\App\Cron $cronObserver */ $cronObserver = $objectManager->create('Magento\\Framework\\App\\Cron', ['parameters' => $params]); $cronObserver->launch(); $output->writeln('<info>' . 'Ran jobs by schedule.' . '</info>'); }
/** * Extracts the directory paths from a CLI request * * Uses format of a URL query * * @param RequestInterface $request * @return array */ private function extractFromCli(RequestInterface $request) { if (!($request instanceof Request)) { return []; } $bootstrapParam = new ComplexParameter(self::BOOTSTRAP_PARAM); foreach ($request->getContent() as $paramStr) { $result = $bootstrapParam->getFromString($paramStr); if (!empty($result)) { return $result; } } return []; }