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); } }
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()); }