/** * Executes the current command. * * @param InputInterface $input An InputInterface instance * @param OutputInterface $output An OutputInterface instance * * @return integer 0 if everything went fine, or an error code * * @throws \LogicException When this abstract class is not implemented */ protected function execute(InputInterface $input, OutputInterface $output) { if ($input->getOption('quiet')) { return; } $workers = $this->gearmanClient->getWorkers(); if (is_array($workers)) { $it = 1; foreach ($workers as $worker) { $output->writeln('<comment>@Worker: </comment><info>' . $worker['className'] . '</info>'); $output->writeln('<comment>callablename: </comment><info>' . $worker['callableName'] . '</info>'); $output->writeln('<comment>Jobs:</comment>'); foreach ($worker['jobs'] as $job) { $output->writeln('<comment> - #' . $it++ . '</comment>'); $output->writeln('<comment> name: ' . $job['methodName'] . '</comment>'); $output->writeln('<comment> callablename:</comment><info> ' . $job['realCallableNameNoPrefix'] . '</info>'); if (false === is_null($job['jobPrefix'])) { $output->writeln('<comment> jobPrefix:</comment><info> ' . $job['jobPrefix'] . '</info>'); } } } } }
/** * Executes the current command. * * @param InputInterface $input An InputInterface instance * @param OutputInterface $output An OutputInterface instance * * @return integer 0 if everything went fine, or an error code * * @throws \LogicException When this abstract class is not implemented */ protected function execute(InputInterface $input, OutputInterface $output) { $helper = $this->getHelper('question'); $question = new ConfirmationQuestion('<question>This will execute asked worker with all its jobs?</question>', 'y'); if (!$input->getOption('no-interaction') && !$helper->ask($input, $output, $question)) { return; } if (!$input->getOption('quiet')) { $output->writeln(sprintf('<info>[%s] loading...</info>', date('Y-m-d H:i:s'))); } $worker = $input->getArgument('worker'); $workerStructure = $this->gearmanClient->getWorker($worker); if (!$input->getOption('no-description') && !$input->getOption('quiet')) { $this->gearmanDescriber->describeWorker($output, $workerStructure, true); } if (!$input->getOption('quiet')) { $output->writeln(sprintf('<info>[%s] loaded. Ctrl+C to break</info>', date('Y-m-d H:i:s'))); } $this->gearmanExecute->setOutput($output)->executeWorker($worker, array('iterations' => $input->getOption('iterations'), 'minimum_execution_time' => $input->getOption('minimum-execution-time'), 'timeout' => $input->getOption('timeout'))); }
/** * Executes the current command. * * @param InputInterface $input An InputInterface instance * @param OutputInterface $output An OutputInterface instance * * @return integer 0 if everything went fine, or an error code * * @throws \LogicException When this abstract class is not implemented */ protected function execute(InputInterface $input, OutputInterface $output) { /** * @var QuestionHelper $helper */ $helper = $this->getHelper('question'); $question = new ConfirmationQuestion('<question>This will execute asked job?</question>', 'y'); if (!$input->getOption('no-interaction') && !$helper->ask($input, $output, $question)) { return; } if (!$input->getOption('quiet')) { $output->writeln(sprintf('<info>[%s] loading...</info>', date('Y-m-d H:i:s'))); } $job = $input->getArgument('job'); $jobStructure = $this->gearmanClient->getJob($job); if (!$input->getOption('no-description') && !$input->getOption('quiet')) { $this->gearmanDescriber->describeJob($output, $jobStructure); } if (!$input->getOption('quiet')) { $output->writeln(sprintf('<info>[%s] loaded. Ctrl+C to break</info>', date('Y-m-d H:i:s'))); } $this->gearmanExecute->setOutput($output)->executeJob($job, array('iterations' => $input->getOption('iterations'), 'minimum_execution_time' => $input->getOption('minimum-execution-time'), 'timeout' => $input->getOption('timeout'))); }
/** * Executes the current command. * * @param InputInterface $input An InputInterface instance * @param OutputInterface $output An OutputInterface instance * * @return integer 0 if everything went fine, or an error code * * @throws \LogicException When this abstract class is not implemented */ protected function execute(InputInterface $input, OutputInterface $output) { $worker = $input->getArgument('worker'); $worker = $this->gearmanClient->getWorker($worker); $this->gearmanDescriber->describeWorker($output, $worker); }
/** * Executes the current command. * * @param InputInterface $input An InputInterface instance * @param OutputInterface $output An OutputInterface instance * * @return integer 0 if everything went fine, or an error code * * @throws \LogicException When this abstract class is not implemented */ protected function execute(InputInterface $input, OutputInterface $output) { $job = $input->getArgument('job'); $job = $this->gearmanClient->getJob($job); $this->gearmanDescriber->describeJob($output, $job); }
/** * Given a GearmanClient, set all included servers * * @param \GearmanClient $gearmanClient Object to include servers * * @return GearmanClient Returns self object */ protected function assignServers(\GearmanClient $gearmanClient) { $servers = $this->defaultServers; if (!empty($this->servers)) { $servers = $this->servers; } /** * We include each server into gearman client */ foreach ($servers as $server) { $gearmanClient->addServer($server['host'], $server['port']); } return $this; }