def get_summary(self, url):
    key   = self.create_summary_key(url)
    value = memcache.get(key)
    if value is None:
      # MEMO: 1度だけ再試行する
      try:
        value = HatenaBookmark.get_summary(url)
      except urlfetch.DownloadError:
        logging.info("retry download")
        value = HatenaBookmark.get_summary(url)

      if value == (None, None):
        ttl = self.ttl_negative
      else:
        ttl = self.ttl

      memcache.add(key, value, ttl)
    return value