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); } }
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>'); } }