/** * Fetch a feed object given its feed URL. If get a cache miss, fetch from the Datastore. * @param $feed_url URL of the feed. */ public static function get($feed_url) { $mc = new Memcache(); $key = self::getCacheKey($feed_url); $response = $mc->get($key); if ($response) { return [$response]; } $query = parent::createQuery(self::FEED_MODEL_KIND); $feed_url_filter = parent::createStringFilter(self::SUBSCRIBER_URL_NAME, $feed_url); $filter = parent::createCompositeFilter([$feed_url_filter]); $query->setFilter($filter); $results = parent::executeQuery($query); $extracted = self::extractQueryResults($results); return $extracted; }