Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
JobUpgrade.php
Go to the documentation of this file.
1 <?php
7 
10 use Symfony\Component\Console\Input\ArrayInput;
11 use Symfony\Component\Console\Output\OutputInterface;
13 
17 class JobUpgrade extends AbstractJob
18 {
22  protected $status;
23 
27  private $queue;
28 
40  public function __construct(
41  \Magento\Setup\Console\Command\AbstractSetupCommand $command,
42  \Magento\Setup\Model\ObjectManagerProvider $objectManagerProvider,
43  \Symfony\Component\Console\Output\OutputInterface $output,
44  \Magento\Setup\Model\Cron\Queue $queue,
46  $name,
47  $params = []
48  ) {
49  $this->command = $command;
50  $this->queue = $queue;
51  parent::__construct($output, $status, $objectManagerProvider, $name, $params);
52  }
53 
60  public function execute()
61  {
62  try {
63  $this->queue->addJobs(
64  [['name' => JobFactory::JOB_STATIC_REGENERATE, 'params' => []]]
65  );
66 
67  $this->queue->addJobs(
68  [['name' => \Magento\Setup\Model\Cron\JobFactory::JOB_MAINTENANCE_MODE_DISABLE, 'params' => []]]
69  );
70  $this->params['command'] = 'setup:upgrade';
71  $this->command->run(new ArrayInput($this->params), $this->output);
72  } catch (\Exception $e) {
73  $this->status->toggleUpdateError(true);
74  throw new \RuntimeException(sprintf('Could not complete %s successfully: %s', $this, $e->getMessage()));
75  }
76  }
77 }
output($string, $level=INFO, $label='')
$queue
Definition: queue.php:21
__construct(\Magento\Setup\Console\Command\AbstractSetupCommand $command, \Magento\Setup\Model\ObjectManagerProvider $objectManagerProvider, \Symfony\Component\Console\Output\OutputInterface $output, \Magento\Setup\Model\Cron\Queue $queue, \Magento\Setup\Model\Cron\Status $status, $name, $params=[])
Definition: JobUpgrade.php:40