<?php require_once '/var/www/vendor/autoload.php'; use relive\Crawlers\TwitterCrawler; use relive\Crawlers\InstagramCrawler; use relive\Crawlers\GPlusCrawler; $event_id = $argv[1]; $event = \relive\models\Event::find($event_id); $twitterCrawler = TwitterCrawler::getInstance(); $instagramCrawler = InstagramCrawler::getInstance(); $gPlusCrawler = GPlusCrawler::getInstance(); $hashtagRelationships = \relive\models\EventHashtagRelationship::where('event_id', '=', $event->event_id)->get(); foreach ($hashtagRelationships as $hashtagRelationship) { $hashtag = \relive\models\Hashtag::find($hashtagRelationship->hashtag_id); $twitterCrawler->popularCrawl($event, $hashtag->hashtag); $instagramCrawler->initialCrawl($event, $hashtag->hashtag); $gPlusCrawler->initialCrawl($event, $hashtag->hashtag); }
<?php require_once '/var/www/vendor/autoload.php'; use relive\Crawlers\TwitterCrawler; use relive\Crawlers\InstagramCrawler; use relive\Crawlers\GPlusCrawler; $twitter = TwitterCrawler::getInstance(); $instagram = InstagramCrawler::getInstance(); $gplus = GPlusCrawler::getInstance(); class PQCrawlJob extends SplPriorityQueue { public function compare($priority1, $priority2) { if ($priority1 === $priority2) { return 0; } return $priority1 < $priority2 ? 1 : -1; } } $crawling = []; $objPQ = new PQCrawlJob(); $objPQ->setExtractFlags(PQCrawlJob::EXTR_BOTH); while (true) { if ($objPQ->valid()) { $top = $objPQ->top(); $currentTime = time(); //if top's time is later than current, sleep. while ($top['priority'] <= $currentTime) { $queueObj = $objPQ->extract(); $job = $queueObj['data']; $event = \relive\models\Event::find($job->event_id);