tornado的事件源处理器
项目描述
tornado-eventsource
一个简单的tornado事件源处理器。内置测试客户端。
如何使用
安装它(当然了!)
pip install tornado_eventsource
在你的处理器中
class MyAmazingHandler(EventSourceHandler):
def check_connection(self):
if youDontFitMyCondition:
self.error(403, 'forbidden')
return False
return True
def open(self):
self.write_message('doge_source', 'much connection')
def close(self):
# Cleanup after close
使用客户端进行测试
from tornado_eventsource.event_source_client import eventsource_connect
...
def test_get_message_on_open(self):
event_source = eventsource_connect(url=self.get_url('/'), callback=self.stop)
self.wait()
event = event_source.result().events[0]
self.assertEqual(event.name, 'doge_source')
self.assertEqual(event.data, 'much connection')
另一个示例
import uuid
import tornado.ioloop
import tornado.web
import tornado_eventsource.handler
class MainHandler(tornado_eventsource.handler.EventSourceHandler):
def open(self):
self.heart_beat = tornado.ioloop.PeriodicCallback(self._simple_callback, 5000)
self.heart_beat.start()
self.write_message(msg="Wow much nameless", evt_id=uuid.uuid4())
print('Connection open')
def close(self):
print('Connection closed')
def _simple_callback(self):
self.write_message(name="doge", msg="Wow much alive\nSuch message", evt_id=uuid.uuid4())
self.write_message(msg="Wow much nameless", evt_id=uuid.uuid4())
application = tornado.web.Application([
(r"/", MainHandler),
], debug=True)
if __name__ == "__main__":
application.listen(8888)
tornado.ioloop.IOLoop.instance().start()
贡献
make setup
change things
make test
pull request ;)
许可证
MIT许可证 (MIT)
版权所有 (c) 2014 Guilherme Souza,又名:Galinho
特此授予任何人免费获取此软件及其相关文档文件(“软件”)的副本的权限,不受任何限制地处理该软件,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或出售软件副本的权利,并允许向软件提供的人以这种方式使用,前提是遵守以下条件
上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。
软件按“原样”提供,不提供任何明示或暗示的保证,包括但不限于适销性、针对特定目的的适用性和非侵权性。在任何情况下,作者或版权持有人均不对任何索赔、损害或其他责任承担责任,无论该责任是因合同、侵权或其他方式引起的,与软件或其使用或其它交易有关。
项目详情
关闭
tornado_eventsource-3.0.0.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | e8180f2b29947ee103791fed035ebb2005817029b8b9fdd9d4d2fd60a8f76399 |
|
MD5 | 38d232bc6a5eededa3d5b545e920824c |
|
BLAKE2b-256 | 6966dce01ca7587855f949b5f80a77ad97f2eb1c876684ca0a0e1529d8651435 |