Ejemplo n.º 1
0
 private function runSingleTask(Scheduler $scheduler, $task, OutputInterface $output)
 {
     try {
         $message = $scheduler->runTaskNow($task);
     } catch (\InvalidArgumentException $e) {
         $message = $e->getMessage() . PHP_EOL . 'Available tasks:' . PHP_EOL . implode(PHP_EOL, $scheduler->getTaskList());
         throw new \Exception($message);
     }
     $output->writeln($message);
 }
Ejemplo n.º 2
0
 /**
  * @dataProvider runDataProvider
  */
 public function testRunTaskNow($expectedTimetable, $expectedExecutedTasks, $timetableBeforeTaskExecution, $configuredTasks)
 {
     $taskLoader = $this->getMock('Piwik\\Scheduler\\TaskLoader');
     $taskLoader->expects($this->atLeastOnce())->method('loadTasks')->willReturn($configuredTasks);
     // stub the piwik option object to control the returned option value
     self::stubPiwikOption(serialize($timetableBeforeTaskExecution));
     $timetable = new Timetable();
     $initialTimetable = $timetable->getTimetable();
     $scheduler = new Scheduler($taskLoader, new NullLogger());
     foreach ($configuredTasks as $task) {
         /** @var Task $task */
         $result = $scheduler->runTaskNow($task->getName());
         $this->assertNotEmpty($result);
     }
     // assert the timetable is NOT updated
     $this->assertSame($initialTimetable, $timetable->getTimetable());
     self::resetPiwikOption();
 }