Tornado-sent events¶
An implementation of the publish/subscribe pattern for the Tornado web server.
Usage¶
A simple example of using server-sent events (a.k.a. EventSource):
import random
from tornado.ioloop import IOLoop, PeriodicCallback
from tornado.web import Application
from tornadose.handlers import EventSource
from tornadose.stores import DataStore
store = DataStore()
app = Application(
[(r'/', EventSource, {'store': store})],
debug=True)
app.listen(9000)
loop = IOLoop.instance()
PeriodicCallback(lambda: store.set_data(random.random()), 1000).start()
loop.start()
To monitor the stream with curl:
$ curl http://localhost:9000
or with HTTPie:
$ http -S get localhost:9000
Additional demos can be found in the demos
directory.
See also¶
Some other implementations of server-sent events with Tornado include: