« Back to Index

[Python Tornado Initialization and Multi-Process Mode]

View original Gist on GitHub

Tags: #python #tornado #parallelization #multi-process #processes #cpu

Python Tornado Initialization.diff

from tornado.httpserver import HTTPServer
from tornado.web import Application

class App(Application):
    def __init__(self):
        app_handlers = [
            (r'/health', HealthHandler),
            (r'/site-component/v{}/{}'.format(VERSION, COMPONENT), ComponentHandler),
        ]
        super().__init__(app_handlers, **app_settings)

- App().listen(app_settings['port'])
+ server = HTTPServer(App())
+ server.listen(app_settings['port'])

Python Tornado Multi-Process Mode.py

import logging

from tornado.process import cpu_count  # helps with logging available cpu

logging.info('Starting in forked mode on %s cpus', cpu_count())

server = HTTPServer(App())
server.bind(app_settings['port'])
server.start(0)  # multi process mode (one process per cpu)