@@ 43-66 (lines=24) @@ | ||
40 | $metadata->setIdGeneratorType(ClassMetadata::GENERATOR_TYPE_NONE); |
|
41 | } |
|
42 | ||
43 | public function pruneErroneousJobs($workerName = null, $method = null) |
|
44 | { |
|
45 | /** @var DocumentManager $objectManager */ |
|
46 | $objectManager = $this->getObjectManager(); |
|
47 | $qb = $objectManager->createQueryBuilder($this->getArchiveObjectName()); |
|
48 | $qb |
|
49 | ->remove() |
|
50 | ->field('status')->equals(Job::STATUS_ERROR); |
|
51 | ||
52 | if ($workerName) { |
|
53 | $qb->field('workerName')->equals($workerName); |
|
54 | } |
|
55 | ||
56 | if ($method) { |
|
57 | $qb->field('method')->equals($method); |
|
58 | } |
|
59 | $query = $qb->getQuery(); |
|
60 | $result = $query->execute(); |
|
61 | if (isset($result['n'])) { |
|
62 | return $result['n']; |
|
63 | } |
|
64 | ||
65 | return 0; |
|
66 | } |
|
67 | ||
68 | /** |
|
69 | * Prunes expired jobs. |
|
@@ 71-95 (lines=25) @@ | ||
68 | /** |
|
69 | * Prunes expired jobs. |
|
70 | */ |
|
71 | public function pruneExpiredJobs($workerName = null, $method = null) |
|
72 | { |
|
73 | /** @var DocumentManager $objectManager */ |
|
74 | $objectManager = $this->getObjectManager(); |
|
75 | $qb = $objectManager->createQueryBuilder($this->getObjectName()); |
|
76 | $qb |
|
77 | ->remove() |
|
78 | ->field('expiresAt')->lte(new \DateTime()); |
|
79 | ||
80 | if ($workerName) { |
|
81 | $qb->field('workerName')->equals($workerName); |
|
82 | } |
|
83 | ||
84 | if ($method) { |
|
85 | $qb->field('method')->equals($method); |
|
86 | } |
|
87 | ||
88 | $query = $qb->getQuery(); |
|
89 | $result = $query->execute(); |
|
90 | if (isset($result['n'])) { |
|
91 | return $result['n']; |
|
92 | } |
|
93 | ||
94 | return 0; |
|
95 | } |
|
96 | ||
97 | /** |
|
98 | * Removes archived jobs older than $olderThan. |