Google应用程序引擎Python上的异步http请求

Google应用程序引擎Python上的异步http请求,python,http,google-app-engine,asynchronous,request,Python,Http,Google App Engine,Asynchronous,Request,有人知道如何在不等待响应的情况下从Google App Engine发出http请求吗? 它应该像一个带有http的推送数据,没有响应延迟。我认为这就是您要寻找的。您可以做的是,在请求处理程序中,使用接收到的任何数据将任务排队(使用)。一旦任务成功进入队列,您就可以返回“200 OK”响应,并为下一次推送做好准备。我以前通过设置doing do URLFetch并为deadline参数设置非常低的值来完成此操作。我把0.1作为我的值,所以100ms。您还需要在try/catch中包装URLFet

有人知道如何在不等待响应的情况下从Google App Engine发出http请求吗?
它应该像一个带有http的推送数据,没有响应延迟。

我认为这就是您要寻找的。

您可以做的是,在请求处理程序中,使用接收到的任何数据将任务排队(使用)。一旦任务成功进入队列,您就可以返回“200 OK”响应,并为下一次推送做好准备。

我以前通过设置doing do URLFetch并为deadline参数设置非常低的值来完成此操作。我把0.1作为我的值,所以100ms。您还需要在try/catch中包装URLFetch,因为请求将超时

使用任务队列。如果您只是在推送数据,那么等待响应是没有意义的。

异步请求仍然会阻止响应的发送。它只允许您在等待其他数据到达时进行处理。至少这是我从文档中得到的。@envalid:我的印象是OP并不关心得到响应。他将其描述为“推送”操作。
如果在请求处理程序退出时,任何URL获取请求都处于挂起状态,则应用程序服务器将等待所有剩余请求返回或到达其截止日期,然后再将响应返回给用户。
Src:@envalid:是的,但是,只有当发起请求的代码真正关心得到响应时,它才有意义。如果它正在某处推送数据,那么发出请求就足够了。他可以给获取一个足够低的超时,这样就不会妨碍他的处理程序及时退出。谢谢你的回答!它真的帮助了我。我以前发现过它,但我的问题是我在开发者服务器上尝试过它。此功能在dev服务器上无法正常工作。它只对已部署的服务器有效。@Triptich:是的!我试过了。但有一个缺点。当您使用taskqueue时,与异步请求相比,您将花费更多的cpu时间。谢谢@Vyalov可能是这样,但是你应该考虑CPU时间是非常便宜的,并且使用任务队列还有其他好处。