Exemple #1
0
 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");
 }
Exemple #2
0
 public function isValid($value)
 {
     $entity = $this->repository->findById($value);
     $this->setValue($value);
     if (!$entity) {
         $this->error(self::ENTITY_NOT_EXIST);
         return false;
     }
     return true;
 }