Example #1
0
 /**
  * Write information from event to database..
  *
  * @param BackupEvent $event
  */
 public function onBackupFinished(BackupEvent $event)
 {
     $database = $event->getDatabase();
     $database->set('finished', (new \DateTime())->format(\DateTime::RFC3339));
     $database->set('state', $event->getStatus());
     if (BackupStatus::STATE_FAILED === $event->getStatus()) {
         $database->set('exception', $this->serializeException($event->getException()));
     }
 }
Example #2
0
 public function testOnBackupFinishedFailed()
 {
     $this->event->getStatus()->willReturn(BackupStatus::STATE_FAILED);
     $this->event->getException()->willReturn(new \Exception());
     $this->database->set('finished', Argument::that(function ($value) {
         $date = \DateTime::createFromFormat(\DateTime::RFC3339, $value);
         return new \DateTime() >= $date;
     }))->shouldBeCalled();
     $this->database->set('state', BackupStatus::STATE_FAILED)->shouldBeCalled();
     $this->database->set('exception', Argument::any())->shouldBeCalled();
     $this->listener->onBackupFinished($this->event->reveal());
 }
Example #3
0
 /**
  * Asks environment (e.g. user over console) if he wants to continue failed backup.
  *
  * @param BackupEvent $event
  */
 public function onBackupFinished(BackupEvent $event)
 {
     if ($event->getStatus() === BackupStatus::STATE_FAILED && !$this->environment->continueFailedBackup($event->getException())) {
         $event->cancel();
     }
 }
Example #4
0
 /**
  * Print info for backup-started to output.
  *
  * @param BackupEvent $event
  */
 public function onBackupStarted(BackupEvent $event)
 {
     $this->output->writeln('- ' . $event->getName() . ' (' . $event->getOption('plugin') . '):');
 }