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);
     }
 }
Example #2
0
 public function testQueuePurgeEvent()
 {
     $before = new DateTime();
     $result = true;
     $purge = new QueuePurgeEvent($before);
     $purge->setResult($result);
     $this->assertEquals($result, $purge->getResult());
     $this->assertEquals($before, $purge->getBeforeDate());
 }