/** * {@inheritdoc} */ public function handle(MessageInterface $message, EventDispatcherInterface $dispatcher) { $event = new ConsumerEvent($message); try { $message->setStartedAt(new \DateTime()); $message->setState(MessageInterface::STATE_IN_PROGRESS); $this->messageManager->save($message); $dispatcher->dispatch($message->getType(), $event); $message->setCompletedAt(new \DateTime()); $message->setState(MessageInterface::STATE_DONE); $this->messageManager->save($message); } catch (\Exception $e) { $message->setCompletedAt(new \DateTime()); $message->setState(MessageInterface::STATE_ERROR); $this->messageManager->save($message); throw new HandlingException("Error while handling a message", 0, $e); } }
/** * {@inheritdoc} */ public function handle(MessageInterface $message, EventDispatcherInterface $dispatcher) { $event = new ConsumerEvent($message); try { $message->setStartedAt(new \DateTime()); $message->setState(MessageInterface::STATE_IN_PROGRESS); $dispatcher->dispatch($message->getType(), $event); $message->setCompletedAt(new \DateTime()); $message->setState(MessageInterface::STATE_DONE); $this->getTube($this->tube)->delete($message->getValue('Job')); return $event->getReturnInfo(); } catch (\Exception $e) { $message->setCompletedAt(new \DateTime()); $message->setState(MessageInterface::STATE_ERROR); $this->getTube($this->tube)->release($message->getValue('Job')); throw new HandlingException('Error while handling a message', 0, $e); } }