0

我正在從我的新聞流中獲取數據來過濾它。這需要Facebook有時超過5秒。我點擊Google App Engine的url_fetch()超時。通過谷歌應用引擎上的Python緩慢的Facebook API(GAE)

現在有什麼辦法可以解決這個超時或提高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) 
+0

如果來自'urlfetch'的信息最終被髮送到瀏覽器,您還可以考慮在Facebook的Javascript SDK中使用jQuery $ .getJSON()來繞過這個限制。 –

回答

0

沒有什麼可以加快它的速度 - 它的速度取決於facebook。您可以將deadline參數傳遞給URLFetch以設置請求的最大截止時間(以秒爲單位)。如果你打了很多電話,你可能需要考慮使用the asynchronous API並行呼叫。

0

我有一個類似的問題,與一個不同的項目。您可以在GAE中非常充分地使用mechanize庫,並允許您指定超時。只需將文件夾複製到您的GAE項目中即可。

雖然等待會導致成本上升,但謹慎使用它。