草庐IT

tornado-motor

全部标签

python - Tornado 协程

我正在尝试学习tornado协程,但使用以下代码时出现错误。Traceback(mostrecentcalllast):File"D:\projekty\tornado\env\lib\site-packages\tornado\web.py",line1334,in_executeresult=yieldresultFile"D:\projekty\tornado\env\lib\site-packages\tornado\gen.py",line628,inrunvalue=future.result()File"D:\projekty\tornado\env\lib\site-p

python - 在 Tornado 中处理未定义的模板变量

这是一个Tornado模板(比如,在文件logout.html中)我在注销过程中呈现错误:{%iflogout_error%}Oops!Thelogoutfailed.Pleasecloseallopendocumentsandtryagain{%end%}这可以通过以下方式调用self.render("logout.html",logout_error=True)如果注销成功,我要做的self.render("logout.html",logout_error=False)如果我忽略logout_error=False,我得到NameError:globalname'logout_e

python - 什么是 Facebook 的新 Tornado 框架?

Facebook刚刚开源aframeworkcalledTornado.这是什么?它对网站有什么帮助?我相信Facebook使用LAMP结构。它对在LAMP堆栈下编写的较小站点有用吗? 最佳答案 它看起来像是一个针对高并发性和高可扩展性进行了优化的网络服务器,但它是为较小的有效载荷而设计的。它旨在支持10,000个并发用户。Theframeworkisdistinctfrommostmainstreamwebserverframeworks(andcertainlymostPythonframeworks)becauseitisno

redis - 使用redis pub/sub连接Tornado进程

我有两个Tornado进程X和Y。X中的处理程序处理post请求,当这样的请求到达时,除了在X中进行更改外,我还想更改存储在Y中的一些变量。我想使用Redis的PUB/SUB来做到这一点。很明显,在X的处理程序中,我需要向“Y”订阅的channel发布消息。Y中的这个订阅应该是长期运行的,这样每当有消息发布到channel时,Y中的内容就会自动更新内存中的变量。但是,我不清楚如何在Y中实现此订阅和由此产生的更新,因为它不可能是一个普通的处理程序。我计划为此使用异步redis客户端tornado-redis,如果这有什么不同的话。一些例子会很有帮助! 最佳答案

python - Tornado websocket + Redis

我想创建通知系统。当服务器将数据保存到数据库(仅限通知模型)时,它应该通过Tornadowebsocket发送到客户端(浏览器)到目前为止,我配置了websocket,但我不知道如何向客户端发送数据。classWebSocketHandler(tornado.websocket.WebSocketHandler):def__init__(self,*args,**kwargs):self.id=Noneself.client=Nonesuper(WebSocketHandler,self).__init__(*args,**kwargs)defopen(self,*args):self

Python tornado redis - 如何做一个管道

在tornadoredis中对管道的正确处​​理方法是什么?文档不清楚。我正在使用tornadoredis库。importtornadoredis@tornado.web.asynchronous@tornado.gen.enginedefget(self):self.pipe_threads=[]sw=stopwatch.Timer()ifnotself.get_cookie('rtbhui'):self.cookie_id=str(uuid4())self.set_cookie('test',self.cookie_id,domain='rtb.rtbhui.com',expire

python - 处理在 python、tornado 和 redis 上运行的网站中的外来字符

我已经通读了许多相关问题,但不确定如何处理这种情况。基本问题:处理网站中“外来”(希伯来语、希腊语、阿拉姆语等)字符的最佳方式是什么?我知道我需要使用UTF-8编码,但我不知道它背后的机制。我使用tornado作为我的框架,并将数据存储在redis中。我目前的实现是简单地将等效的英文键盘存储在数据存储中,然后在具有适当的希伯来语/希腊语字体(例如Bwhebb.ttf)的页面上呈现。这在大多数情况下是有效的,但我遇到了一些正在被CGI编码的字符,这反过来导致字体方法中断。 最佳答案 你应该用unicode保存你的文本。importre

python - Tornado -redis : Why the 'listen' and the 'brpop' of tornado-redis can't work at the same time

代码如下:fromtornadoredisimportClientfromtornado.ioloopimportIOLoopfromtornado.genimportcoroutine,Taskrds=Client()@coroutinedeflisten_pub():defhandle(msg):printmsgyieldTask(rds.subscribe,channels='pub')rds.listen(handle)@coroutinedeflisten_list():whileTrue:res=yieldTask(rds.brpop,keys='list')printre

asynchronous - 我可以在 Tornado-redis 中使用 async 和 await 吗? ( python 3.5)

Tornado4.3添加了对PEP0492的支持其中引入了用于定义和调用异步协程的async和await关键字。是否可以使用这些关键字来调用tornado-redisAPI而不是“yieldtornado.gen.Task”?谢谢! 最佳答案 您可以使用awaittornado.gen.Task。await是yield的直接替代,但不影响是否需要gen.Task。 关于asynchronous-我可以在Tornado-redis中使用async和await吗?(python3.5),我们

python - 我可以使用 Tornado+Celery+RabbitMQ+Redis 吗?

对于Web上的实时数据流,我计划使用Redis作为我的缓存数据层,其中数据是即时的。Celery是队列管理器,RabbitMQ是从Redis排队并到达Tornado层的代理。该层然后通过websockets流到前端。Redis+RabbitMQ的组合网上一直没找到。有人可以指导一个可靠的解决方案吗?问题是这样的整合是否可行且可取? 最佳答案 我现在非常成功地一起使用Tornado和RabbitMQ(没有Celery)。我还做了一些原型(prototype)设计,Redis也作为数据库插入到系统中。成功的最佳机会是找到可以插入Torn