/**
  * @param FailProcessedEvent $processedEvent
  */
 public function onFail(FailProcessedEvent $processedEvent)
 {
     $event = $processedEvent->getEvent();
     $event->increaseTryCount();
     if ($event->getTryCount() >= $processedEvent->getMaxRetryCount()) {
         $event->setFailed(true);
     }
     $this->eventManager->save($event);
 }
 /**
  * @param SuccessProcessedEvent $processedEvent
  */
 public function onSuccess(SuccessProcessedEvent $processedEvent)
 {
     $this->eventManager->delete($processedEvent->getEvent());
 }
 /**
  * @param DelayableEvent $event
  */
 public function onDelay(DelayableEvent $event)
 {
     $this->eventManager->save($event->getDelayedEvent());
 }