@@ 78-95 (lines=18) @@ | ||
75 | * @param ScheduleInterface $schedule |
|
76 | * @return \DateTime|null |
|
77 | */ |
|
78 | private function checkNextRunDate(ScheduleInterface $schedule) |
|
79 | { |
|
80 | /** @var QueuedTaskRepository $queueRepo */ |
|
81 | $queueRepo = $this->doctrine->getManager() |
|
82 | ->getRepository('GloobyTaskBundle:QueuedTask'); |
|
83 | ||
84 | $executeAt = null; |
|
85 | $expression = $schedule->parseExpression(); |
|
86 | $nextExecuteAt = $expression->getNextRunDate(); |
|
87 | ||
88 | try { |
|
89 | $queueRepo->getByNameAndExecuteAt($schedule->getName(), $nextExecuteAt); |
|
90 | } catch (NoResultException $e) { |
|
91 | $executeAt = $nextExecuteAt; |
|
92 | } |
|
93 | ||
94 | return $executeAt; |
|
95 | } |
|
96 | ||
97 | /** |
|
98 | * @param ScheduleInterface $schedule |
|
@@ 101-119 (lines=19) @@ | ||
98 | * @param ScheduleInterface $schedule |
|
99 | * @return \DateTime|null |
|
100 | */ |
|
101 | private function checkPreviousRunDate(ScheduleInterface $schedule) |
|
102 | { |
|
103 | /** @var QueuedTaskRepository $queueRepo */ |
|
104 | $queueRepo = $this->doctrine->getManager() |
|
105 | ->getRepository('GloobyTaskBundle:QueuedTask'); |
|
106 | ||
107 | $expression = $schedule->parseExpression(); |
|
108 | ||
109 | $executeAt = null; |
|
110 | ||
111 | try { |
|
112 | $queueRepo->getByNameAndExecuteAtBeforeNow($schedule->getName()); |
|
113 | return $executeAt; |
|
114 | } catch (NoResultException $e) { |
|
115 | $executeAt = $expression->getPreviousRunDate(); |
|
116 | } |
|
117 | ||
118 | return $executeAt; |
|
119 | } |
|
120 | } |
|
121 |