/**
  * 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;
 }