草庐IT

tornado-motor

全部标签

python - cherrypy 是如何工作的?当并发率低时,与 Tornado 相比,它可以很好地处理请求

我对cherrypy(使用web.py作为框架)和tornado从互联网上检索网页进行了测试。我有三个测试用例使用siege向服务器发送请求(-c表示用户数;-t是测试时间)。代码在测试结果下方。1。web.py(cherrpy)siegeip-c20-t100sservercanhandle2747requestssiegeip-c200-t30sservercanhandle1361requestssiegeip-c500-t30sservercanhandle170requests2。Tornado同步siegeip-c20-t100sservercanhandle600requ

python - 混合 Tornado 和sqlalchemy

我正在尝试编写一个在某些请求处理程序中使用sqlalchemy的TornadoWeb应用程序。这些处理程序有两个部分:一个需要很长时间才能完成,另一个使用sqlalchemy并且速度相对较快。我想让请求的慢速部分异步,而不是sqlalchemy部分。我可以执行类似以下代码的操作并且安全吗?classExampleHandler(BaseHandler):asyncdefpost(self):loop=asyncio.get_event_loop()awaitloop.run_in_executor(...)#veryslow(nosqlalchemyhere)withself.db_s

python - 在 Jupyter Notebook 中运行 Tornado 服务器

采用标准的Tornado演示并将IOLoop插入后台线程允许在单个脚本中查询服务器。这在Tornado服务器是一个交互式对象时很有用(参见Dask或类似的)。importasyncioimportrequestsimporttornado.ioloopimporttornado.webfromconcurrent.futuresimportThreadPoolExecutorclassMainHandler(tornado.web.RequestHandler):defget(self):self.write("Hello,world")defmake_app():returntorn

python - 如何在 Tornado 中设置 'secure' 和 'httponly' cookie?

我有一个Tornado应用程序,它使用GoogleOauth2.0身份验证,获取电子邮件并将其设置在cookie中。现在我不希望任何其他人访问此cookie、复制值并在我的应用程序上获取其他用户的详细信息。所以我想制作这个cookiehttponly和securecookie。但是,当我将这些作为参数传递时,它无法设置cookie:self.set_secure_cookie('trakr',email,secure=True,httponly=True)我起诉Tornado3.2.2和Python2.7.5。由于无法设置cookie,它一直重定向到google授权页面。这是我的代码:

python - 不能在 Tornado 的 future 上调用 result()

我想使用python库tornado(版本4.2)执行一些异步HTTP请求。但是,我不能强制future完成(使用result()),因为我得到一个异常:“DummyFuture不支持结果阻塞”。我有python3.4.3,因此future的支持应该是标准库的一部分。concurrent.py的文档说:Tornadowilluseconcurrent.futures.Futureifitisavailable;otherwiseitwilluseacompatibleclassdefinedinthismodule.下面提供了我正在尝试做的最小示例:fromtornado.httpcl

python - 在 Tornado 中全局访问 Web 请求

我需要能够在我的应用程序深处访问Tornado中当前正在执行的Web请求,而无需通过我的所有方法将其传递下去。当第一次收到请求时,我想为其分配一个跟踪ID,然后每次记录一条消息时,我想将其包含在日志信息中。我可以在Tornado中使用某些全局信息来识别当前正在处理的请求吗?谢谢! 最佳答案 Tornado的StackContext是做到这一点的方法。这是一个例子:https://gist.github.com/simon-weber/7755289. 关于python-在Tornado中

Python Tornado - 异步请求正在阻塞

请求处理程序如下:classTestHandler(tornado.web.RequestHandler):#localhost:8888/test@tornado.web.asynchronousdefget(self):t=threading.Thread(target=self.newThread)t.start()defnewThread(self):print"newthreadcalled,sleeping"time.sleep(10)self.write("Awakeafter10seconds!")self.finish()classIndexHandler(torna

python - Tornado 重定向到带参数的页面

我正在使用self.render来呈现一个html模板,它依赖于在defpost()方法中通过ajax从客户端接收到的信息,例如这个:classaHandler(BaseHandler):@tornado.web.authenticateddefpost(self):taskComp=json.loads(self.request.body)iftaskComp['type']=='edit':iftaskComp['taskType']=='task':self.render("tasks.html",user=self.current_user,timestamp='',proje

Python Tornado 渲染静态目录

我正在尝试使用Python中的TornadoAPI从静态目录提供页面。ThisanswerissimilartowhatIamtryingtodo,但我似乎无法让它工作。我的目录结构如下所示(所有静态文件都在名为web的文件夹中):我有一个这样的网络服务器设置:classApplication(tornado.web.Application):def__init__(self):handlers=[(r'/ws',WSHandler),(r'/',IndexHandler),]settings={"debug":True,"static_path":os.path.join(os.pa

Python Tornado - 使 POST 立即返回,同时异步函数继续工作

所以我在下面有一个处理程序:classPublishHandler(BaseHandler):defpost(self):message=self.get_argument("message")some_function(message)self.write("success")我面临的问题是some_function()需要一些时间来执行,我希望post请求在调用时立即返回,并且如果可能的话,some_function()在另一个线程/进程中执行。我使用berkeleydb作为数据库,我想做的事情相对简单。我有一个用户数据库,每个用户都有一个过滤器。如果过滤器匹配消息,服务器将消息发