Beispiel #1
0
 public function testRun()
 {
     $job = Job::create('https://en.wikipedia.org/wiki/Main_Page', 'index.js');
     $jobBuffer = new JobBuffer();
     $jobBuffer->addJob($job);
     $outputBuffer = new OutputBufferArray();
     $jobScriptDir = __DIR__ . '/wikiScraper';
     $scraphp = new Scraphp($jobBuffer, $outputBuffer, $jobScriptDir);
     $scraphp->statusUpdate = new StatusUpdateEcho();
     $scraphp->run();
     $filledOutputBuffer = $scraphp->getOutputBuffer();
     $expectedResult = [['title' => 'Wikipedia, the free encyclopedia', 'moreData' => 42], ['title' => 'Wikipedia:About - Wikipedia, the free encyclopedia', 'isThisATest' => true]];
     $this->assertEquals(json_encode($expectedResult), json_encode($filledOutputBuffer->getData()));
     $this->assertTrue(true);
 }
Beispiel #2
0
 /**
  * @param Status $status
  */
 private function updateStatus($status)
 {
     $status->remainingJobCount = $this->jobBuffer->getBufferedJobsCount();
     $status->doneJobCount = $this->jobBuffer->getTotalJobsCount() - $status->remainingJobCount;
     $status->elapsedSeconds += microtime(true);
     $this->statusUpdate->updateStatus($status);
 }