mirror of
https://github.com/frappe/gunicorn.git
synced 2026-01-14 11:09:11 +08:00
38 lines
851 B
Python
38 lines
851 B
Python
#
|
|
# This file is part of gunicorn released under the MIT license.
|
|
# See the NOTICE for more information.
|
|
#
|
|
# Run with:
|
|
#
|
|
# $ gunicorn -k tornado tornadoapp:app
|
|
#
|
|
|
|
from datetime import timedelta
|
|
|
|
from tornado.web import Application, RequestHandler, asynchronous
|
|
from tornado.ioloop import IOLoop
|
|
|
|
class MainHandler(RequestHandler):
|
|
def get(self):
|
|
self.write("Hello, world")
|
|
|
|
class LongPollHandler(RequestHandler):
|
|
@asynchronous
|
|
def get(self):
|
|
lines = ['line 1\n', 'line 2\n']
|
|
|
|
def send():
|
|
try:
|
|
self.write(lines.pop(0))
|
|
self.flush()
|
|
except:
|
|
self.finish()
|
|
else:
|
|
IOLoop.instance().add_timeout(timedelta(0, 20), send)
|
|
send()
|
|
|
|
app = Application([
|
|
(r"/", MainHandler),
|
|
(r"/longpoll", LongPollHandler)
|
|
])
|