Simple Counter API - Tornado Typing CST Test
Loading…
Simple Counter API — Tornado Code
Demonstrates a simple Tornado REST API with a counter using async handlers and in-memory state.
import tornado.ioloop
import tornado.web
count = 0
class CounterHandler(tornado.web.RequestHandler):
async def get(self):
self.write({'count': count})
class IncrementHandler(tornado.web.RequestHandler):
async def post(self):
global count
count += 1
self.write({'count': count})
class DecrementHandler(tornado.web.RequestHandler):
async def post(self):
global count
count -= 1
self.write({'count': count})
class ResetHandler(tornado.web.RequestHandler):
async def post(self):
global count
count = 0
self.write({'count': count})
app = tornado.web.Application([
(r'/counter', CounterHandler),
(r'/counter/increment', IncrementHandler),
(r'/counter/decrement', DecrementHandler),
(r'/counter/reset', ResetHandler)
])
if __name__ == '__main__':
app.listen(8888)
tornado.ioloop.IOLoop.current().start()Tornado Language Guide
Tornado is a Python web framework and asynchronous networking library, designed for handling thousands of simultaneous connections. It excels at real-time web services and long-lived network connections.
Primary Use Cases
- ▸Real-time chat applications
- ▸WebSocket-based dashboards
- ▸High-concurrency APIs and services
- ▸Long-polling or streaming data endpoints
- ▸IoT backends and notification services
Notable Features
- ▸Asynchronous, non-blocking I/O
- ▸Integrated web framework and networking library
- ▸Native WebSocket support
- ▸High concurrency for thousands of clients
- ▸Flexible request handling with coroutines
Origin & Creator
Tornado was created by FriendFeed engineers (Brett Slatkin, David Cournapeau, and others) in 2009, later maintained by Facebook and the open-source community.
Industrial Note
Tornado is preferred for real-time web services, WebSocket servers, and high-concurrency applications where traditional WSGI frameworks may struggle.