public function onPurge(QueuePurgeEvent $event)
 {
     try {
         # purge jobs that have been completed or failed
         # before x date
         $result = $this->gateway->deleteQuery()->start()->filterByStateFail()->filterByStateFinish()->filterByAddedBefore($event->getBeforeDate())->end()->delete();
         $event->setResult($this->gateway->rowsAffected());
     } catch (DBALGatewayException $e) {
         $event->setResult(false);
         throw new LaterJobException($e->getMessage(), 0, $e);
     }
 }