首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在中阻止请求处理程序

在中阻止请求处理程序
EN

Stack Overflow用户
提问于 2012-11-25 16:11:57
回答 1查看 258关注 0票数 0

我正在使用python开发一个GAE应用程序,我希望它同时为请求提供服务。为此,我将threadsafe设置为true。我在请求处理程序中定义了两个方法:

POST -它将一个pull任务排队异步执行,稍后它自己将一个pull任务排队作为响应:

代码语言:javascript
代码运行次数:0
运行
复制
def post(self):
    message = self.request.body
    taskqueue.add(url='/process', params={'message': message}) #this task will enqueue a pull task as a response

获取-轮询响应的拉任务队列,直到有可用的响应(我知道我应该找到一种改进该循环的方法,但我只是尝试一下):

代码语言:javascript
代码运行次数:0
运行
复制
def get(self):
    (...)
    tasks = queue.lease_tasks_by_tag(1, 100, tag)
    while tasks.__len__() == 0:
        time.sleep(1)
        tasks = queue.lease_tasks_by_tag(1, 100, tag) 

客户端应用程序调用POST,然后获取。我在POST方法排队的任务上放置了一个断点,但是当循环中有一个请求处理程序时,它就不会被调用。我认为应用程序应该有几个线程为请求服务,那么它为什么不同时执行push请求处理程序呢?如果能帮忙我会很感激的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-11-25 16:22:34

我怀疑您正在从开发服务器中看到您在问题中描述的行为,开发服务器一次不能处理多个请求。因此,当您将断点放在POST方法中时,开发服务器就会被有效地暂停。若要查看此行为,请上载到App。

此外,不要使用GET HTTP请求轮询,而是尝试使用App 通道API。使用它,您可以直接从任务队列处理程序将响应推回客户端,以通知流程已经完成(或其他什么)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13552819

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档