Google App Engine (GAE) 上通过 Python 运行缓慢的 facebook API

发布于 2024-12-16 11:32:29 字数 474 浏览 0 评论 0原文

我正在从新闻流中获取数据来过滤它。 Facebook 有时需要超过 5 秒的时间。我遇到了 Google App Engine 的 url_fetch() 超时。

现在有什么方法可以解决这个超时问题或提高 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)

I am fetching data from my news stream to filter it. This takes Facebook sometimes more than 5 seconds. I hit the url_fetch() timeout of Google App Engine.

Now is there any way to work around this timeout or to improve the speed with which Facebook replies to my request? This is the part where I get my exceptions:

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)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

伪装你 2024-12-23 11:32:29

你无法采取任何措施来加快速度 - 速度有多快取决于 Facebook。您可以将 deadline 参数传递给 URLFetch 以设置请求的最大截止时间(以秒为单位)。如果您需要进行大量调用,您可能需要考虑使用 异步 API 并行调用。

There's nothing you can do to speed it up - how fast it is is up to facebook. You can pass the deadline argument to URLFetch to set the maximum deadline for requests (in seconds). If you're doing a lot of calls, you probably want to look into using the asynchronous API to do calls in parallel.

请你别敷衍 2024-12-23 11:32:29

我在另一个项目中遇到了类似的问题。您可以在 GAE 中充分使用 mechanize 库,它允许您指定超时。只需将该文件夹复制到您的 GAE 项目中即可开始。

但请谨慎使用,因为长时间的等待确实会增加成本。

I had a similar problem with a different project. You can use the mechanize library very adequately in GAE and it allows you to specify timeouts. Just copy the folder into your GAE project and you're good to go.

Use it sparingly though as long waits really drives up costs.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文