Example #1
0
 /**
  * Dataprovider for testRun
  */
 public function runDataProvider()
 {
     $now = time();
     $dailySchedule = $this->getMock('Piwik\\Scheduler\\Schedule\\Daily', array('getTime'));
     $dailySchedule->expects($this->any())->method('getTime')->will($this->returnValue($now));
     $scheduledTaskOne = new Task($this, 'scheduledTaskOne', null, $dailySchedule);
     $scheduledTaskTwo = new Task($this, 'scheduledTaskTwo', 1, $dailySchedule);
     $scheduledTaskThree = new Task($this, 'scheduledTaskThree', null, $dailySchedule);
     $caseOneExpectedTable = array(__CLASS__ . '.scheduledTaskOne' => $scheduledTaskOne->getRescheduledTime(), __CLASS__ . '.scheduledTaskTwo_1' => $now + 60000, __CLASS__ . '.scheduledTaskThree' => $scheduledTaskThree->getRescheduledTime());
     $caseTwoTimetableBeforeExecution = $caseOneExpectedTable;
     $caseTwoTimetableBeforeExecution[__CLASS__ . '.scheduledTaskThree'] = $now;
     // simulate elapsed time between case 1 and 2
     return array(array($caseOneExpectedTable, array(__CLASS__ . '.scheduledTaskOne'), array(__CLASS__ . '.scheduledTaskOne' => $now, __CLASS__ . '.scheduledTaskTwo_1' => $now + 60000), array($scheduledTaskOne, $scheduledTaskTwo, $scheduledTaskThree)), array(array(__CLASS__ . '.scheduledTaskOne' => $scheduledTaskOne->getRescheduledTime(), __CLASS__ . '.scheduledTaskThree' => $scheduledTaskThree->getRescheduledTime()), array(__CLASS__ . '.scheduledTaskThree'), $caseTwoTimetableBeforeExecution, array($scheduledTaskOne, $scheduledTaskThree)));
 }
Example #2
0
 public function rescheduleTask(Task $task)
 {
     $rescheduledTime = $task->getRescheduledTime();
     // update the scheduled time
     $this->timetable[$task->getName()] = $rescheduledTime;
     $this->save();
     return Date::factory($rescheduledTime);
 }
 /**
  * See {@link Piwik\Scheduler\Schedule\Schedule::getRescheduledTime()}.
  */
 public function getRescheduledTime()
 {
     $nextScheduledTime = parent::getRescheduledTime();
     // if a geoip database is out of date, run the updater as soon as possible
     if ($this->isAtLeastOneGeoIpDbOutOfDate($nextScheduledTime)) {
         return time();
     }
     return $nextScheduledTime;
 }