public function onDispatch(MvcEvent $e) { /** @var ConsoleRequest $request */ $request = $this->getRequest(); $queueName = $request->getParam('queueName'); $messageId = $request->getParam('messageId'); if (!isset($this->config[$queueName])) { echo "Bad queue name: " . $queueName; return; } $this->queueConfig = $this->config[$queueName]; $this->debug("Queue name: " . $queueName); $this->debug("Message Id: " . $messageId); /** @var QueueMessage $message */ $message = $this->messageRepository->findById($messageId); /** @var WorkerInterface $handler */ $handler = $this->getServiceLocator()->get($this->queueConfig['handler']); $message->setProcessed(); $this->messageRepository->add($message); try { $handler->handle($message->getMessage()); } catch (\Exception $e) { $message->setFailed($e->getMessage()); $this->messageRepository->add($message); } $message->setCompleted(); $this->messageRepository->add($message); $this->debug("done"); }
public function isValid($value) { $entity = $this->repository->findById($value); $this->setValue($value); if (!$entity) { $this->error(self::ENTITY_NOT_EXIST); return false; } return true; }