【发布时间】:2014-07-07 10:22:48
【问题描述】:
目前花费大量实例时间等待我发送到 Facebook 的 HTTP POST 完成,即使我实际上什至没有查看这些 POST 的结果(我正在这样做以执行用户已安排的页面帖子通过我的应用程序)。
即使在异步 urlfetch 中,the docs say:
如果请求处理程序退出时任何 URL Fetch 请求处于待处理状态, 应用程序服务器等待所有剩余的请求 在对 用户。
有没有一种方法可以让我在不等待结果的情况下进行 POST?
这在Asynchronous URLfetch when we don't care about the result? [Python] 之前被问过一次,但这些答案很古老,现在可能有一些直接的方法吗?
【问题讨论】:
-
我目前正在考虑将它们放在 memcached 中的某个队列中,然后每分钟一次将它们与异步 urlfetch 并行执行一次,但也许有更好的方法。
-
实例时间不用于构建响应,它们用于执行实际的 POST。因此,它们是您的流程所必需的计算时间。您可以将任务发送到任务队列,这样用户就不必等待,但 POST 仍然会占用 CPU 和写入时间。
-
但是在实际 POST 中发生的是请求形成,连接打开,请求内容写入套接字,然后应用引擎开始等待响应进来。我会没事的不等待响应。
-
我认为有些混乱。 “等待响应进来”的时间是 CPU 时间,服务器正在执行您要求的工作。无论您是否在等待回复,您都需要为那段时间付费。构建响应和实际响应的时间非常短。
-
啊,我一定是有点模棱两可。我是向 Facebook 发送请求的人。我不提供 POST,我正在发送它们。