def get(self, cluster_id=None): cluster_attrs = fetch_config[cluster_id] result = urlfetch.fetch(cluster_attrs['url']) # appids = result.content.split('|') appids = lib.getAppidFromINI(result.content) appid_dict = memcache.get_multi(appids) response_dict = { "available": [], "over_quota": [], } for appid, val in appid_dict.iteritems(): if val is True: response_dict['available'].append(appid) elif val is False: response_dict['over_quota'].append(appid) response_dict['status_msg'] = "今日还剩 %dGB/%dGB 流量" % (len(response_dict['available']), len(appids)) response_json = json.dumps(response_dict, ensure_ascii=False) self.response.write(response_json)
def defer_fetch(url, cluster_id, is_list=False): logging.info('fetching...%s' % url) result = urlfetch.fetch(url) if is_list: # appids = result.content.split('|') appids = lib.getAppidFromINI(result.content) for appid in appids: app_url = 'https://%s.appspot.com/2' % appid taskqueue.add(url='/start_fetch', params={'url': app_url, 'cluster_id': cluster_id}) else: appid = urlparse.urlparse(url).netloc.split('.')[0] if result.status_code == 503: memcache.set(appid, False) else: memcache.set(appid, True)