Hydrate events one by one to preserve memory

This commit is contained in:
Thibaud Fabre
2016-04-06 16:16:29 +02:00
parent 334dcff6bf
commit c05cac4800
2 changed files with 15 additions and 5 deletions

View File

@@ -21,6 +21,9 @@ use Doctrine\ORM\EntityRepository;
*/
class WebhookEventRepository extends EntityRepository
{
/**
* @deprecated This method can overflow available memory when there is a large number of unprocessed events
*/
public function findUnprocessedEvents()
{
$qb = $this->createQueryBuilder('e');
@@ -29,4 +32,12 @@ class WebhookEventRepository extends EntityRepository
return $qb->getQuery()->getResult();
}
public function getUnprocessedEventIterator()
{
$queryBuilder = $this->createQueryBuilder('e')
->where('e.processed = 0');
return $queryBuilder->getQuery()->iterate();
}
}