setConnection($connectionName) ->setQueue($queue) ->setException($exception->getMessage()) ->setPayload($rawBody) ->setFailedAt(new \DateTime); $this->dm->persist($entity); $this->dm->flush(); } /** * @inheritDoc */ public function findByIds(array $ids) { $cursor = $this->dm->createQueryBuilder('{{bundleName}}:{{className}}') ->setQueryArray(['_id' => ['$in' => $ids]]) ->getQuery()->execute(); $result = []; foreach ($cursor as $job) { $result[] = $job; } return $result; } /** * @inheritDoc */ public function forget(EntityInterface $failedJob) { $dm = $this->dm; $entity = $dm->merge($failedJob); $dm->remove($entity); $dm->flush(); } /** * @inheritDoc */ public function flush() { return $this->dm->createQueryBuilder('{{bundleName}}:{{className}}')->remove()->getQuery()->execute(); } }