Ejemplo n.º 1
0
 public function send($data, Config $config)
 {
     parent::send($data, $config);
     foreach ($this->container->get('grimkirill.queue.holder')->getConsumerList() as $id) {
         $condition = new ExecutionCondition();
         $condition->setTimeout(1);
         $this->container->get($id)->execute($condition);
     }
 }
Ejemplo n.º 2
0
 protected function execute(InputInterface $input, OutputInterface $output)
 {
     if ($this->getContainer()->has($input->getArgument('handler'))) {
         $consumer = $this->getContainer()->get($input->getArgument('handler'));
     } else {
         $consumer = $this->getContainer()->get('queue.consumer.' . $input->getArgument('handler'));
     }
     $condition = new ExecutionCondition();
     $condition->setTimeout($input->getOption('timeout'));
     if ($input->getOption('signal')) {
         $condition->enableSignal();
     }
     $startTime = microtime(true);
     $consumer->execute($condition);
     if ($output->getVerbosity() > $output::VERBOSITY_VERBOSE) {
         $output->writeln('<info>Processed message count:</info> <comment>' . $condition->getMessagesCount() . '</comment>');
         $output->writeln('<info>Processed message time:</info> <comment>' . round($consumer->getTotalWorkTime(), 3) . ' sec</comment>');
         $output->writeln('<info>Total time:</info> <comment>' . round(microtime(true) - $startTime, 3) . ' sec</comment>');
     }
 }