我将Python2.7与WebApp2一起使用,我对这两者都是新手。我在appengine之外运行WebApp2,并跟踪official tutorial。在
假设HelloWord使用粘贴web服务器并且工作正常,但是如果我这样修改它(添加了一些睡眠):
import webapp2
class HelloWebapp2(webapp2.RequestHandler):
def get(self):
import time
time.sleep(6)
self.response.write('Hello, webapp2!')
app = webapp2.WSGIApplication([
('/', HelloWebapp2),
], debug=True)
def main():
from paste import httpserver
httpserver.serve(app, host='127.0.0.1', port='8080', use_threadpool=True)
if __name__ == '__main__':
main()
同时打开几个选项卡,显然这个HelloWord在一个线程中运行。我添加use_threadpool=True只是为了详细起见,据我所知(从阅读粘贴文档)它应该使用多线程,即使没有线程池。在
我尝试了google,但不幸的是,我得到的只有“webapp2是线程安全的,当模块webapp2_本地附加费是可用的”。那对我一点帮助都没有。在
请告诉我如何修改这个HelloWord来异步响应请求!在
附带问题:如果我使用的是Go,是否可以只运行goroutine中的每个处理程序来实现基本的并发性?或者它们(goroutines)应该只用于小函数吗?因为我还没有和Python结婚,所以我正在评估其他的选择。在
编辑:我发现这是googlechrome的问题,而不是Python的问题。在其他浏览器中,一切都按预期工作,所以这个例子已经在多个线程中运行了。不过,我不知道如何结束这个问题。在
您需要将以下标志添加到应用程序yaml文件:
见this
相关问题 更多 >
编程相关推荐