Медленный API Facebook через Python на Google App Engine (GAE) - PullRequest
0 голосов
/ 16 ноября 2011

Я получаю данные из своего потока новостей, чтобы отфильтровать их.Иногда это занимает Facebook больше 5 секунд.Я установил url_fetch() тайм-аут Google App Engine.

Теперь есть ли способ обойти этот тайм-аут или повысить скорость, с которой Facebook отвечает на мой запрос?Это та часть, где я получаю свои исключения:

params[u'access_token'] = self.access_token

result = json.loads(
  urlfetch.fetch(
    url=u'https://graph.facebook.com/me/home?limit=1000,
    payload=urllib.urlencode(params),
    method=urlfetch.POST,
    headers={u'Content-Type': u'application/x-www-form-urlencoded'}
  ).content)

Ответы [ 2 ]

0 голосов
/ 17 ноября 2011

Вы ничего не можете сделать, чтобы ускорить его - насколько быстро это до Facebook. Вы можете передать аргумент deadline в URLFetch, чтобы установить максимальный срок для запросов (в секундах). Если вы делаете много вызовов, вы, вероятно, захотите использовать асинхронный API для параллельных вызовов.

0 голосов
/ 16 ноября 2011

У меня была похожая проблема с другим проектом.Вы можете очень адекватно использовать библиотеку mechanize в GAE, и она позволяет указывать тайм-ауты.Просто скопируйте папку в свой проект GAE, и все готово.

Используйте его экономно, хотя длительное ожидание действительно увеличивает расходы.

...