Code Duplication    Length = 7-8 lines in 3 locations

Command/CleanUpCommand.php 3 locations

@@ 144-151 (lines=8) @@
141
142
    private function findExpiredJobs(EntityManager $em, InputInterface $input)
143
    {
144
        $succeededJobs = function (array $excludedIds) use ($em, $input) {
145
            return $em->createQuery("SELECT j FROM JMSJobQueueBundle:Job j WHERE j.closedAt < :maxRetentionTime AND j.originalJob IS NULL AND j.state = :succeeded AND j.id NOT IN (:excludedIds)")
146
                ->setParameter('maxRetentionTime', new \DateTime('-' . $input->getOption('max-retention-succeeded')))
147
                ->setParameter('excludedIds', $excludedIds)
148
                ->setParameter('succeeded', Job::STATE_FINISHED)
149
                ->setMaxResults(100)
150
                ->getResult();
151
        };
152
        yield from $this->whileResults($succeededJobs);
153
154
        $finishedJobs = function (array $excludedIds) use ($em, $input) {
@@ 154-160 (lines=7) @@
151
        };
152
        yield from $this->whileResults($succeededJobs);
153
154
        $finishedJobs = function (array $excludedIds) use ($em, $input) {
155
            return $em->createQuery("SELECT j FROM JMSJobQueueBundle:Job j WHERE j.closedAt < :maxRetentionTime AND j.originalJob IS NULL AND j.id NOT IN (:excludedIds)")
156
                ->setParameter('maxRetentionTime', new \DateTime('-' . $input->getOption('max-retention')))
157
                ->setParameter('excludedIds', $excludedIds)
158
                ->setMaxResults(100)
159
                ->getResult();
160
        };
161
        yield from $this->whileResults($finishedJobs);
162
163
        $canceledJobs = function (array $excludedIds) use ($em, $input) {
@@ 163-170 (lines=8) @@
160
        };
161
        yield from $this->whileResults($finishedJobs);
162
163
        $canceledJobs = function (array $excludedIds) use ($em, $input) {
164
            return $em->createQuery("SELECT j FROM JMSJobQueueBundle:Job j WHERE j.state = :canceled AND j.createdAt < :maxRetentionTime AND j.originalJob IS NULL AND j.id NOT IN (:excludedIds)")
165
                ->setParameter('maxRetentionTime', new \DateTime('-' . $input->getOption('max-retention')))
166
                ->setParameter('canceled', Job::STATE_CANCELED)
167
                ->setParameter('excludedIds', $excludedIds)
168
                ->setMaxResults(100)
169
                ->getResult();
170
        };
171
        yield from $this->whileResults($canceledJobs);
172
    }
173